【问题标题】:.append to a non DOM element jQuery.append 到一个非 DOM 元素 jQuery
【发布时间】:2013-12-16 03:39:30
【问题描述】:

我正在尝试附加到非 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");
});

这不起作用,我如何附加一个在元素加载时进行计算的事件?

【问题讨论】:

  • $(document).on("click", "#slides2 .slidesjs-pagination-item a", function(event){...
  • 我不明白你的问题与追加有什么关系,也不明白你为什么称它为“非 DOM 元素”。
  • 我只是使用点击功能和警报来测试.on,通过非 DOM 元素我的意思是在文档准备好之前它不存在
  • $(document).on("click", "#slides2 .slidesjs-pagination-item a", function(event){ } 工作了谢谢,所以现在我的代码是$(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"); }); 哪个不起作用,我如何附加一个在加载元素时recgonises的事件?

标签: javascript jquery dom append


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    试试:

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

    虽然没有看到任何 HTML 就很难判断...

    【讨论】:

      【解决方案3】:

      两个潜在的指针:

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

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

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

      【讨论】:

      • .slidesjs-pagination-item 不是 DOM 元素,它是由 js 文件添加的
      【解决方案4】:
      如果元素不在 DOM 中,

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

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

      【讨论】:

        猜你喜欢
        • 2015-01-21
        • 1970-01-01
        • 2012-01-05
        • 2010-12-02
        • 1970-01-01
        • 1970-01-01
        • 2013-12-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多