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

时间:2011-09-21 20:56:34

标签: jquery addclass

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

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

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

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

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

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

这样的事情:

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

试试这个:

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