javascript不适用于通过jquery新添加的innerhtml

时间:2010-07-07 13:45:24

标签: jquery html innerhtml

我有以下HTML结构

<table>
<tr>
   <div id="getData">
   </div> 
</tr>
</table>

我正在使用jquery的html()方法将动态内容添加到div id“getData”中:

  $('#valueResult').html(data);
    var data ="
<table><tr><td><input type="checkbox" name="test[1]" onclick="doSometing()" /> Test</tr></tr></table> 
    <table><tr><td><input type="checkbox" name="test[2]" onclick="doSometing()" /> Test</tr></tr></table> "  

但是,任何动态添加的复选框都不会执行doSometing()函数。 为什么呢?

任何人都可以帮助我吗?

THX。

1 个答案:

答案 0 :(得分:2)

针对此类问题的更简洁的jQuery解决方案是使用.live()甚至更好.delegate()

使用这种方法,您还应该为input element提供唯一ID并致电:

$(document).ready(function(){
   $('#unique_input_id').live('click', function(){
      alert('clicked');
   });
});

参考:.live(),。delegate()