javascript - JQuery - 访问加载了 .ajax 的元素

标签 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();
});

我快疯了,到目前为止我发现的所有提示都指向我不理解的 delegate() 或 live() 并且它们大多指向单个示例而不是数百个 ID,有没有办法附加DOM 中的整个 HTML block ?

提前致谢!

最佳答案

将其用于动态创建的元素:

$(document).on('click','[id^=someid_]',function()
{
///your code

});

关于javascript - JQuery - 访问加载了 .ajax 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26965069/

相关文章:

javascript - 一页中不同引导轮播幻灯片的不同链接

jquery - 如何从 JQuery UI 中删除未使用的类

javascript - 搜索文本文件并追加到表中

ajax - 如何将 jQuery 自动完成组合框与 AJAX JSON 数据一起使用?

javascript - 2人回合制游戏逻辑

javascript - React/Electron 渲染组件失败

javascript - 如何在具有绝对位置的div上的javascript中忽略Onmouseover

javascript - 通过控制台关闭 Bootstrap 模式

javascript - jQuery 和 IE 表现不佳

javascript - 如何在使用setTimeout()时停止累积?