在追加函数后访问jquery元素

win*_*sun 9 jquery

我使用append函数,以便将一些div添加到另一个元素中

('#test-append').append("<div class='new_div'><b>some text</b></div>")
Run Code Online (Sandbox Code Playgroud)

一切都很顺利,我可以看到添加的div,`但我之后还需要访问div选择器,以便用这个div做一些事情,例如隐藏它,所以我使用下面的

$('.new_div').click(function(){
            do somthing here
        });
Run Code Online (Sandbox Code Playgroud)

但即使我只是使用简单的警报('hi')调用它也无法正常工作.似乎jquery无法识别附加类(我也尝试使用Id,我得到相同的结果)

我将在这个问题上得到一些帮助

谢谢

min*_*dia 17

在jquery 1.7之前,你需要使用live()或delegate()将事件绑定到元素,忽略它们是否在绑定时存在.

从jquery 1.7开始,你可以使用

$('root-element').on('click', 'selector', function () { do it })
Run Code Online (Sandbox Code Playgroud)

以上是根据jaspers评论编辑的

  • 如果包含jQuery 1.7,则`.click(...)`映射到`.on('click',...)` (2认同)

Joh*_*ble 0

我可能会先声明 div 然后使用追加。

var newDiv=$("<div class='new_div'><b>some text</b></div>");

newDiv.appendto('#test-append');

newDiv.click(function(){ do somthing here });
Run Code Online (Sandbox Code Playgroud)