我有追加一些HTML表格内的区段使用此代码段一个按钮被点击时的函数:为什么JQuery不能'查找'附加的div?
function add_series() {
$(document).on("click", "a.add-another-series", function(e) {
e.preventDefault();
// Get the containing div that we will append the retrieved HTML to
$container = $(this).parent().parent().parent().parent();
// Get the HTML via ajax and append it to the containing div
$.get('ajax/add-series/' + study_number + '/' + series_number, function(data){
$container.append(data);
});
});
}
这里是经由返回到调用函数中的(切断)HTML结构AJAX(CAPS表示该文本是一个变量):
<div class="series" data-study-number="STUDY_NUMBER" data-series-number="SERIES_NUMBER">
<h4>series SERIES_NUMBER</h4>
<div class="row">
<div id="RANDOM_ID" class="small-12 columns large-centered uploader"> </div>
</div>
</div>
这工作正常,并显示在页面上的预期。
我需要做的是从第一个函数(本问题开始处的“点击”一个函数)中获取id = RANDOM_ID的div。为了测试,我试图抓住所有的.series的div有以下选择:
$series_divs = $('.study[data-study-number="' + STUDY_NUMBER + '"]').find('.content').find('.series');
这似乎只返回.append()调用之前存在的.series的div。它不会返回我刚添加的那个。我在这里做错了什么?
'STUDY_NUMBER'对'.study'分类的div是否相同? – Kiruse 2013-05-11 09:57:06
你可以尝试使用$ series_divs = $('。study [data-study-number =''+ STUDY_NUMBER +'“]')。find('。content .series'); – 2013-05-11 10:16:27
如果您粘贴小提琴我们可以帮助您更好。很多信息都丢失了,而且这个设置很难实现。它似乎也表明,每次添加一个系列时,您都会将一个新的监听器添加到文档中,所以它会反复运行多次,而您点击的次数越多。 (我不认为这就是你想要的) – Shanimal 2013-05-11 10:45:22