我现在加载某个页面,其中含有
<ul>
<li id='li1'>
<a>aaa</a>
</li>
</ul>
这个页面中有个javascript动态的修改了<a></a>中的某个属性,比如说是onclick属性
然后我用var test = document.getElementById('li1').innerHTML;
这个字符串test中并没有a的onclick属性上述情况,不知道我描述的清楚不,我现在就是想得到在前台javascript动态修改之后的innerHTML
暂时没找到办法
请各位帮忙想想。

解决方案 »

  1.   

    对元素的事件处理器的改动是不会反应在html里的
      

  2.   

    临回家顶一下,刚来csdn,请大家多多帮忙。
      

  3.   

    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>
      

  4.   

    意思就是说,用innerHTML是拿不到事件的动态修改的,是吗?
    有没有什么办法可以取到呢?
      

  5.   

    我也是新手
    我觉得应该是 onclick是一个事件触发调用的函数
    而onclick不是<a>标签的一个属性,所以没办法获得
      

  6.   


    <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>
      

  7.   

    先是用Dom方法 Copy 一个 节点到另一个地方,也许,只是也许,它们的某个属性(比如说是onclick属性 )会一起被Copy过去。然后........
    然后你自己写吧
      

  8.   

    动态修改不能直接取得,看过api的人都知道