我想要移除特定div标签之后的所有兄弟元素,比如id为id8的div标签。
为了实现这个目标,我使用以下jQuery代码。
<form>
<div id="id5">something ...<div>
<div id="id8">something ...<div>
<div id="id3">something ...<div>
<div id="id97">something ...<div>
<div id="id7">something ...<div>
...
<div id="idn">some text ...<div>
</form>
为了实现这个目标,我使用以下jQuery代码。
$("#id8 ~ div").remove();
在Firefox中运行良好,但在IE7中不起作用。
是否有另一种方法来实现这个目标,使用jQuery并只提供要开始删除元素的标签ID? 谢谢
感谢大家的帮助,我最终采用了基于被接受的答案的这个解决方案。
function removeAfter(el,tag){
element = $('#'+el);
var aElements = $(tag,element.parent());
var index = (aElements.index(element));
for(i=(index+1);i<aElements.length;i++) {
$('#'+$(aElements.get(i)).attr('id')).remove();
}
}
只需调用
removeAfter('id8', 'div')
#id8 ~ div
前面加上 '#' 可能会有帮助。 - Boldewyn