我有一个函数,可以在使用此代码段单击按钮时将一些 HTML 附加到表单中的某个部分:
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);
});
});
}
这是通过 AJAX 返回给调用函数的(缩减的)HTML 结构(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。它不会返回我刚刚附加的那个。我在这里做错了吗?