我怎样才能在jQuery中与兄弟姐妹一起工作?

时间:2016-08-22 20:38:43

标签: jquery frontend

我怎样才能做到这一点,假设我在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中添加新核对表。

1 个答案:

答案 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()等。