.append到非DOM元素jQuery

时间:2013-11-29 22:39:37

标签: javascript jquery dom append

我正在尝试附加到非DOM元素(为幻灯片添加了Pagiantion)。

我的代码是:

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

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

更新 adeno的评论有所帮助,我的代码现在是:

$(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");
});

哪个不起作用,如何在元素加载时附加一个重新整理的事件?

4 个答案:

答案 0 :(得分:1)

您必须将事件绑定到父元素,然后使用selector参数选择目标元素。您可以找到有关.on() here

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

答案 1 :(得分:0)

尝试:

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

虽然没有看到任何HTML就很难分辨......

答案 2 :(得分:0)

两个潜在的指针:

  1. 以下行是否返回一个数字> 0?如果不是你的选择器错了。

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

  2. 您提到您尝试附加到非DOM元素。您选择的元素是否完全附加到DOM?如果不是:您无法单击非DOM节点。

答案 3 :(得分:0)

如果元素不在DOM中,

$(“#blah”)将不起作用。 我猜你的模板是参数,所以这样做:

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