【问题标题】:delegate event selector as nth element not working将事件选择器委托为第 n 个元素不起作用
【发布时间】:2016-01-20 09:32:59
【问题描述】:

我想为动态加载 Div 标签的按钮附加点击事件。我正在尝试在父 Dev 标签上使用委托事件。单击时应附加到第 n 个(比如说 6 个)子 div 标签。

$(".navigation-bar").delegate('.navigation-bar > :nth-child(6)',"click",function() {
..
})

以上代码未将事件附加到子 div。但是当我在加载整个页面后从控制台运行此代码时它可以工作。

【问题讨论】:

标签: javascript jquery


【解决方案1】:

如果您的代码在加载后在控制台中运行,那么您的脚本很可能在 DOM 完成加载之前正在运行。首先通过在运行代码的位置上方记录正在播放的元素来测试是否是这种情况:

console.log( $(".navigation-bar")[0] ); //this could likely be undefined
console.log( $('.navigation-bar > :nth-child(6)')[0] ); //and this is likely undefined

如果它们未定义,请确保您的脚本在正文元素的末尾运行,或者更好的是,在 jquery 的 ready 函数中运行所有代码:http://learn.jquery.com/using-jquery-core/document-ready/

【讨论】:

    猜你喜欢
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多