2016-06-14 42 views
0
伴随

见下面的屏幕截图:试图删除复选框并与JS

我想删除突出显示的选项:“发票 - 商人测试”使用jQuery。它的代码位于屏幕快照中的亮点之间。

我已经取得了一些成功,并隐藏它们,但它似乎我必须抓住和隐藏三个不同的ID,仍然有一个空间,当我删除它们时,<br>

我的问题是:

如何删除这个选项,而无需编写几种不同的jQuery的语句,我宁愿只有一个,我怎么可以删除它周围的<br>这样,当选项是隐藏的,它不没有留下一个大的空间?

enter image description here

回答

3

这可能是在一个声明中,使用jQuery的调用链:

$('#uniform-checkout_provider_checkout_cod') //start with the original div 
    .nextUntil('div')       //then get the subsequent <br> 
               //and <label> elements 
    .addBack()        //and then re-include the original div 
    .remove();        //and finally remove them all 

参考:

  • nextUntil“获取所有的每个元素的下面的兄弟姐妹直到但不包括由选择器,DOM节点或jQuery对象传递的元素匹配。“
  • addBack“将堆栈中的上一组元素添加到当前集合中,可以通过选择器进行过滤。”
  • remove“从DOM中删除一组匹配的元素。”
+0

$(“#uniform-checkout_provider_checkout_cod”)。nextUntil('div')。addBack()。remove(); – Tron

+0

TypeError:$(...)。nextUntil(...)。addBack不是函数 – Tron

+0

@Tron你使用的是什么版本的jquery? Pre 1.8你想和自己,而不是addBack –