我现在加载某个页面,其中含有
<ul>
<li id='li1'>
<a>aaa</a>
</li>
</ul>
这个页面中有个javascript动态的修改了<a></a>中的某个属性,比如说是onclick属性
然后我用var test = document.getElementById('li1').innerHTML;
这个字符串test中并没有a的onclick属性上述情况,不知道我描述的清楚不,我现在就是想得到在前台javascript动态修改之后的innerHTML
暂时没找到办法
请各位帮忙想想。
<ul>
<li id='li1'>
<a>aaa</a>
</li>
</ul>
这个页面中有个javascript动态的修改了<a></a>中的某个属性,比如说是onclick属性
然后我用var test = document.getElementById('li1').innerHTML;
这个字符串test中并没有a的onclick属性上述情况,不知道我描述的清楚不,我现在就是想得到在前台javascript动态修改之后的innerHTML
暂时没找到办法
请各位帮忙想想。
你用右键打开页面的源码,或者用firebug点击查看,一对标签之间的内容就是这个元素的innerHTML。
为什么js动态修改了onclick,而没有体现在innerHTML,这个现象的原因不是因为是js动态修改,而是因为修改的是onclick,onclick不是元素的属性,而属于该元素的事件。下面的例子就可以看出了,js动态修改了style.fontSize属性是可以再innerHTML中体现的,但是动态修改的onclick事件是不会体现的。<ul>
<li id='li1'>
<a id="ta" onclick="taOnClck();">aaa </a>
</li>
</ul>
<script>
function taOnClick(){
alert("hello");
}
document.getElementById("ta").onclick=taOnClick;
document.getElementById("ta").style.fontSize="12px";
alert(document.getElementById("li1").innerHTML); </script>
有没有什么办法可以取到呢?
我觉得应该是 onclick是一个事件触发调用的函数
而onclick不是<a>标签的一个属性,所以没办法获得
<script language="javascript">
function aaa(){
var test=document.getElementById('li1');
test.innerHTML="<a href='#' onclick='alert(\"呵呵\")'>AAAA</a>";
alert(test.innerHTML);
}
</script>
<ul>
<li id='li1'>
<a>aaa </a>
</li>
</ul>
<button onclick="aaa();">点击修改并显示</button>
然后你自己写吧