我正在将数据加载到
中<div id="content_8">
</div>
使用以下功能:
...
var number = 8; //i.e.
$.ajax
({
url: "load.inc.php",
dataTypeString:"html",
data: "var="+number,
success: function(html)
{
$('#content_'+number).html(html);
}
});
这很好用,但是:html包含不同的ID,加载的html看起来像例如
<tr id="someid_8_1234">...</tr>
<tr id="someid_8_7294">...</tr>
<tr id="someid_8_9999">...</tr>
由于它们尚未在DOM中注册,因此我无法使用此代码
$('[id^=someid_]').click(function(){
$(this).toggle();
});
我变得疯狂,到目前为止我找到的所有提示都指向了委托()或live(),我不明白,他们主要指的是单个例子而不是数百个ID,有没有办法将整个HTML-Block附加到DOM中?
提前致谢!
答案 0 :(得分:2)
将其用于动态创建的元素:
$(document).on('click','[id^=someid_]',function()
{
///your code
});
答案 1 :(得分:0)
也许......
success: function(html) {
var newContent = $.parseHTML(html)
$('#content_'+number).html(newContent);
$('[id^=someid_]', newContent).click(function(){
$(this).toggle();
});
}