如何使用jQuery定位动态加载的内容?我已经阅读了很多,发现.live()函数是一种向加载的内容添加事件的简单方法,但我不确定如何在加载的内容中定位对象。我在主页上有一个容器:
<div id="container">place to load content</div>
和加载页面上的容器:
<div id="ajax-container">
<div id="stuff">
<div class="random-class">stuff to be loaded</div>
<div class="random-links"><a href="#" class="delete">delete me</a></div>
</div>
</div>
我有一个“删除”类的链接,我想用它来删除#stuff。我发现jQuery会忽略更新的内容,因此我无法将事件附加到该锚点。我发现了.live()函数并修复了我的点击问题。
$('.delete').live('click', function() {
alert('click event works');
$(this).parent('#stuff').hide();
});
警报会触发,但我如何定位div#stuff呢?
答案 0 :(得分:2)
$('.delete').live('click', function() {
alert('click event works');
$(this).closest('div#stuff').hide();
});
答案 1 :(得分:1)
不确定我理解,但$('#stuff')
将为您提供该Div的jQuery对象,无论您在何处调用它。 (失去this.parent)
答案 2 :(得分:0)
根据您的代码: 使用.parent()仅在DOM树中向上移动一级。而是尝试使用.parents()方法向上移动多个级别。