<html> 
<body> 
<div id="mm">
<a id="aa" rel="a">baidu </a> 
</div>
<a id="aa" onclick="tttt()">test </a> 
</body> 
</html> <script>
document.getElementById('aa').onclick = function(){var kk=1};
function tttt() {
alert(document.getElementById('aa').onclick);
alert(document.getElementById('mm').innerHTML);
document.getElementById('mm').innerHTML = document.getElementById('mm').innerHTML
}
</script>第一次点击时候document.getElementById('aa').onclick显示是正确的
我做了一个document.getElementById('mm').innerHTML = document.getElementById('mm').innerHTML操作
但第二次点击onclick就没有了我想咨询一下,我如何能保留住我的onclick事件和原来一样,但我又要改document.getElementById('mm').innerHTML这个里面的内容非常感谢

解决方案 »

  1.   

    document.getElementById('mm').innerHTML = document.write("<div id=""mm""></div> ")试试
      

  2.   

    id是唯一的,你不能把两个网页元素指定为相同的ID.
      

  3.   

    <html> 
    <body> 
    <div id="mm"> 
    <a id="bb" rel="a">baidu </a> 
    </div> 
    <a id="aa" onclick="tttt()">test </a> 
    </body> 
    </html> <script> 
    document.getElementById('aa').onclick = function(){alert(1);}; 
    function tttt() { 
    alert(document.getElementById('aa').onclick); 
    alert(document.getElementById('mm').innerHTML); 
    document.getElementById('mm').innerHTML = document.getElementById('mm').innerHTML 

    </script> 
      

  4.   

    楼主你怎么能把id写重那?如果想两个div一个效果,那你可以把class设置成相同,那样就可以一段代码控制相同的效果
      

  5.   

    首先,请不要使用相同的id,这样会出问题
    然后,添加的事件(document.getElementById('aa').onclick = function(){var kk=1}; )是没办法通过innerHTML取得的(会丢失),只有写在HTML代码里面的才能通过innerHTML复制如果LZ想复制某个DOM对象的话(既上例中的<div id="mm">),可以通过cloneNode(true)解决,不过通过JavaScript添加的事件依然不能复制(IE下的attachEvent除外),只能再次添加了