通过 jQuery .live 或 .delegate 将类添加到元素

发布于 2024-11-18 09:45:12 字数 93 浏览 2 评论 0原文

大家好:我正在尝试使用 .load 通过 jquery .live 将类添加到 ajaxed 元素,但是根据鼠标操作的事件,我找不到正确的解决方案。有什么想法吗?提前致谢。

hi everyone: I'm trying to add a class via jquery .live to an ajaxed element using .load but with mouse action depending events I cant find the right solution. Any ideas? Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌上芳菲 2024-11-25 09:45:12

添加新元素时,.live().delegate() 不能用于运行任意代码。

它们专门用于处理事件。

如果要修改元素,则需要从 DOM 中选择它们,或者在将新元素添加到 DOM 之前使用对新元素的直接引用。

$.ajax({
    url: '/some/path/',
    dataType: 'html',
    success: function( d ) {
        var els = $( d );
        els.find('div').addClass('newClass');
        els.appendTo('body');
    }
});

.live() and .delegate() can't be used to run arbitrary code when a new element is added.

They're meant specifically for handling events.

If you want to modify the elements, you need to select them from the DOM, or use a direct reference to the new elements before you add them to the DOM.

$.ajax({
    url: '/some/path/',
    dataType: 'html',
    success: function( d ) {
        var els = $( d );
        els.find('div').addClass('newClass');
        els.appendTo('body');
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文