无法将 .addClass 应用于动态创建的元素

发布于 2024-12-05 19:52:04 字数 346 浏览 1 评论 0原文

我正在尝试将 .addClass 应用于无序列表中的最后一项。问题是,无序列表是从外部脚本动态创建的。所以我想你可以说,在外部脚本构建脚本之前,脚本并不真正存在。该脚本似乎在页面和 DOM 准备好后加载它。

我尝试过旧的基础知识,但无济于事:

$(function() {
    $("#svpply_items li:last-child").addClass('last');
});

$(document).ready(function() {
    $("#svpply_items li:last-child").addClass('last');
});

任何帮助将不胜感激。

I'm trying to apply .addClass to the the last item in an unordered list. The problem is, the unordered list is dynamically created from an external script. So I guess you can say, the script isn't really there until the external script constructs it. The script seems to load this in after the page and DOM is ready.

I've tried the old basics, but to no avail:

$(function() {
    $("#svpply_items li:last-child").addClass('last');
});

$(document).ready(function() {
    $("#svpply_items li:last-child").addClass('last');
});

Any help would be hugely appreciated.

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

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

发布评论

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

评论(3

ゞ花落谁相伴 2024-12-12 19:52:04

我想说的是,请确保所有脚本都位于页面底部,并确保外部脚本的顺序正确。如果情况已经如此,或者您已经尝试过但没有效果,请查看 $. getScript(...) 函数。

像这样的东西:

$(document).ready(function () {
    $.getScript('scripts/external.js', function (data, textStatus) {
        $("#svpply_items li:last-child").addClass('last');
    });
});

I would say make sure that all the scripts are at the bottom of you page and make sure that the ordering of external scripts is correct. If that's already the case or you've already tried that to no avail, then take a look at the $.getScript(...) function.

Something like this:

$(document).ready(function () {
    $.getScript('scripts/external.js', function (data, textStatus) {
        $("#svpply_items li:last-child").addClass('last');
    });
});
行至春深 2024-12-12 19:52:04

为什么不在 $(window).load(function(){.... 上尝试呢?

Why not try it on $(window).load(function(){.... ?

水溶 2024-12-12 19:52:04

试试这个:

$("#svpply_items").bind("DOMSubtreeModified", function() {
     $(this).find('li:last-child').addClass('last');
});

Try this:

$("#svpply_items").bind("DOMSubtreeModified", function() {
     $(this).find('li:last-child').addClass('last');
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文