编程语言
首页 > 编程语言> > javascript – jquery删除兄弟元素,在IE7中不起作用

javascript – jquery删除兄弟元素,在IE7中不起作用

作者:互联网

我试图删除特定div后的所有兄弟元素,让我们说id为id = id8的div标签.

<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')

解决方法:

这里有三个步骤:

>找到我们点击的元素的索引号,与其父元素相关.
>遍历此父级中包含的所有div元素,从刚刚找到的那个开始
>删除找到的每个div

$(document).ready(function(){
        $('#parent').children().click(function(){
            var index = ($('div',$(this).parent()).index(this));
            for(i=(index+1);i<$('div',$(this).parent()).length;i++){
                $($('div',$(this).parent()).get(i)).hide();
            }
        });
});

这将适用于此HTML

<div id="parent">
    <div id="c1">c1</div>
    <div id="c2">c2</div>
    <div id="c3">c3</div>
    <div id="c4">c4</div>
    <div id="c5">c5</div>
</div>

如果您在此问题上遇到任何问题,请在此处发表评论!

附:该解决方案的应用完全符合您的要求如下

function removeAfter(el){
    element = $('#'+el);
    var index = ($('*',element.parent()).index(element));
    for(i=(index+1);i<$('*', element .parent()).length;i++){
        $($('*', element.parent()).get(i)).hide();
    }
};

标签:javascript,jquery,internet-explorer-7
来源: https://codeday.me/bug/20190827/1742239.html