JQuery - 用.ajax加载的访问元素

时间:2014-11-17 03:29:49

标签: javascript jquery ajax dom

我正在将数据加载到

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

提前致谢!

2 个答案:

答案 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();
            });
        }