我怎样才能做到这一点,假设我在htlm中动态创建了这个清单。我想要的是如果我使用.append()创建完全相同的清单并按下按钮添加项目,它将仅触发被点击的按钮而不是它们两个?
$('body').on('click', '.add-item', function(){
$('.checkbox').append('<br><input id="check' + idCounter + '" type="checkbox" name="check"><label for="check' + idCounter + '"><span class="chk-name">' + name + '</span></label>');
});
jQuery的:
{{1}}
如何仅在我选择不在两者中的div中添加新核对表。
答案 0 :(得分:0)
如果add-item
按钮位于您希望复选框进入的相同父容器内,您可以像这样定位它们:
$('body').on('click', '.add-item', function(){
$(this).parent().append('<br><input id="check' + idCounter + '" type="checkbox" name="check"><label for="check' + idCounter + '"><span class="chk-name">' + name + '</span></label>');
});
实际上 - 您的HTML看起来无效了?您有&#39; add-item&#39;的结束标记。但没有匹配的开放标签。所以你的结构可能与我想的不同。如果是这种情况,您可能需要上升两级parent
,但这个想法是相同的。只要您的按钮和要添加复选框的位置在某处共享父级,此方法就可以使用。如果他们不共享父母(或与其他所有复选框共享),请尝试其他遍历DOM的方式 - 兄弟姐妹$().nearest()
等。