.append到非DOM元素jQuery

.append to a non DOM element jQuery

本文关键字:jQuery 元素 DOM 到非 append      更新时间:2023-12-12

我正试图附加到一个非DOM元素(为幻灯片添加了Pagination)。

我的代码是:

$("#slides2 .slidesjs-pagination-item a").on("click", function (event) {
    alert('append');
});

这不会提醒我。由于on正在取代live,我想知道为什么这不起作用?

UPDATE腺的评论起到了帮助作用,我的代码现在是:

$(document).on("ready", "#slides2 .slidesjs-pagination-item a", function (event) {
    $("#slides2 .slidesjs-pagination-item a").prepend("Image");
    $("#slides2 .slidesjs-pagination-item a").append(" of 30");
});

这不起作用,当元素被加载时,我如何附加一个反作用的事件?

必须将事件绑定到父元素,然后使用selector参数选择目标元素。您可以在此处找到有关.on()的更多信息。

$('#slides2').on('click', '.slidesjs-pagination-item a', function(e) {
    alert('append');
});

尝试:

$("#slides2").on("click", ".slidesjs-pagination-item a", function(event){
    alert('append');
});

虽然不看到任何HTML很难说。。。

两个潜在的指针:

  1. 下面的行返回的数字是否大于0?如果不是,您的选择器是错误的。

    alert($("#slides2 .slidesjs-pagination-item a").length)

  2. 您提到您试图附加到一个非DOM元素。您选择的元素是否附加到DOM?如果不是:则不能单击非DOM节点。

如果元素不在DOM中,

$("#blah")将无法工作。我想你的模板在参数中,所以这样做:

$("#blah", myTemplate).click(...