javascript - jQuery 可以操作插入的元素吗?

标签 javascript jquery

我是 jQuery 的新手。我认为 jQuery 可以操作代码添加的元素是合理的,但我发现它现在不能。

$(function(){
    $("#addVideo").click(function(){
         $("#publisher").append("<div id='choseType'><input type='button' value='video'> <input value='music' type='button'> <input type='button' value='X'></div>");
    })      
    $("#choseType input:eq(0)").click(function(){
     $(this).addClass("selected");
    })
})

是 jquery 的限制还是我的代码的错误?似乎如果我将第二个 click() 函数放入第一个它会正确运行,但它只会运行一次(如果我删除附加的 #choseType 并附加再次单击将不起作用。)。那么我如何操作代码添加的元素?谢谢!

最佳答案

将事件委托(delegate)给非动态元素:

$(document).on('click', "#choseType input:eq(0)", function(){
    $(this).addClass("selected");
});

ID 是唯一的!

关于javascript - jQuery 可以操作插入的元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10377060/

相关文章:

c# - 用于浏览器兼容性的代码或 javascript

javascript - $.mobile.changePage 在多页中无法正常工作

javascript - 如何使用 scrollTop 反转动画

jquery - 链接的脚本不会应用于加载的 HTML

javascript - jQuery:动画没有提示 - 不适用于 SlideDown 或 Fades

javascript - JSTree - 添加 Action 重定向

javascript - 逆向工程调用了哪个 javascript/jquery 函数

javascript - 从远程域设置 cookie 以进行本地开发

javascript - 单击进入 Bootstrap-Table 时获取单元格的值

javascript - 单击或选择的选定通知按钮上的 jQuery