2015-01-10 74 views
0

我的动态职位由.load(添加),他们进入DOM这样:。对(点击,功能)不工作的动态添加内容

<div class="post"> 
    <h2>Basic Info</h2><button class="closer">X</button> 
      <div class="innerPost"> 
       <h5>Notes:</h5> 
        <p>Lorem ipsum dolor sit amet.</p> 
      </div> 
</div> 

我的jQuery来删除帖子上工作页面上的静态第一个帖子,但不是新添加的动态页面。这里是jQuery的:

 $(".closer").on('click', function() { 
     $(this).parent().remove(); 
    }); 

我一直在尝试不同的选择和审查其他人的类似问题,但似乎仍不能得到它的工作。任何帮助非常感谢:)

+0

什么时候被调用 - 你应该使用'.delegate'。 –

+0

@ DanielA.White'.delegate()'被弃用,'.on()'具有完全相同的功能。 – JJJ

回答

3

这是因为当选择器运行时元素不在DOM中。使用event delegation.

$(document).on('click', ".closer", function() { 
    $(this).parent().remove(); 
}); 
+0

这个很好用..我只用过.click(),我想把我的头包裹在.on()...我想我现在明白了你输入它的方式我说的是jQuery从文档开始,找到“.closer”,然后找不到任何内容,因为它最初并不存在。非常感谢! – Holas