删除列表中项目后的元素,jQuery-第2部分
我有这样一个代码块:删除列表中项目后的元素,jQuery-第2部分,jquery,css,Jquery,Css,我有这样一个代码块: <span class="main_container"> <span id=".." class=".." position="1"...> </span> <span id=".." class=".." position="2"...> </span> <span id=".." class=".." position="3"...> </span>
<span class="main_container">
<span id=".." class=".." position="1"...> </span>
<span id=".." class=".." position="2"...> </span>
<span id=".." class=".." position="3"...> </span>
<span id=".." class=".." position="4"...><img class="remove_it" scr="images/remove.png" /> </span>
<span id=".." class=".." position="5"...> </span>
<span id=".." class=".." position="6"...> </span>
</span>
基本上,我希望在单击remove_it图像后,包含该图像的span元素和它下面的所有其他span元素都被删除。在本例中,元素位于4、5和6
谢谢我建议:
$('.remove_it').click(function(){
$(this).parent().nextAll('span').add(this.parentNode).remove();
})
另外,作为附录,若您使用的是自定义属性,那个么您还可以在它们前面加上数据-,以便它们至少在HTML5 doctype中有效
编辑了答案,将其更正为this.parentNode。我建议:
$('.remove_it').click(function(){
$(this).parent().nextAll('span').add(this.parentNode).remove();
})
另外,作为附录,若您使用的是自定义属性,那个么您还可以在它们前面加上数据-,以便它们至少在HTML5 doctype中有效
编辑了答案,以将其更正为this.parentNode,因为它本应如此。使用parent
试试这个
$('.remove_it').click(function(e){
$(this).parent().nextAll('span').addBack().remove();
});
使用父项
试试这个
$('.remove_it').click(function(e){
$(this).parent().nextAll('span').addBack().remove();
});
您可以通过使用功能来实现这一点 HTML
.您可以通过使用该功能来实现这一点 HTML
.这并没有删除第4个元素,添加addBack/andSelf就可以了。@undefined:是的,我在构建时发现了这一点,谢谢=这将删除“单击”元素,但不会删除包含范围。谢谢though@DavidThomas关于数据-我注意到昨天我在处理position时,感谢您的建议。我不是硬核jQuery,但我越来越喜欢它了。这并没有删除第四个元素,添加addBack/andSelf就可以了。@undefined:是的,我在构建的时候看到了,谢谢=这将删除“单击”元素,但不会删除包含范围。谢谢though@DavidThomas关于数据-我注意到昨天我在处理position时,感谢您的建议。我不是硬核jQuery,但我越来越喜欢它了。