JavaScript遍历类元素,然后选择除单击的元素以外的所有元素

弗雷德

假设我有5个div元素。它们全部具有类似的onclick函数,将“删除”除被单击的div之外的其他div。

HTML:

<div id="1" class="divs" onclick="hide()"></div>
<div id="2" class="divs" onclick="hide()"></div>
<div id="3" class="divs" onclick="hide()"></div>
<div id="4" class="divs" onclick="hide()"></div>
<div id="5" class="divs" onclick="hide()"></div>

所以这就是我尝试的:

JavaScript:

function hide(){
    var divs = document.getElementsByClassName("divs");
    for(var i = 0; i < arrows.length; i++){
        if(this != arrows[i]){
            arrows[i].style.display = "none";
        }
    }
}

所有这些都是删除每个div,但是clicked元素应该保留。我知道jQuery中有一个“:not()”选择器,但我想使用JS做到这一点。有什么建议么?

谢谢

Furqan Aziz |

只需在html之类thishide()html中传递hide(this),并将其作为javascript函数中的参数即可。这会将当前单击的DOM对象传递给hide函数,然后您可以使用该对象显示特定的div。

HTML:

<div id="1" class="divs" onclick="hide(this)"></div>
<div id="2" class="divs" onclick="hide(this)"></div>
<div id="3" class="divs" onclick="hide(this)"></div>
<div id="4" class="divs" onclick="hide(this)"></div>
<div id="5" class="divs" onclick="hide(this)"></div>

JavaScript:

function hide(obj){
    var arrows = document.getElementsByClassName("divs");
    for(var i = 0; i < arrows.length; i++){
        if(obj != arrows[i]){
            arrows[i].style.display = "none";
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

选择除具有特定类的最后一个元素以外的所有元素

我如何选择除具有特定类的div内的那些元素以外的所有元素

选择除最后一个列表元素以外的所有元素

在jQuery中隐藏某个类的除一个元素以外的所有元素

从某个类中获取除元素以外的所有元素?

如何选择除ith元素以外的数组中的所有其他值?

选择除一个元素以外的所有主体

使用jQuery选择除当前悬停的元素以外的所有同胞

有什么方法可以选择.on()函数中除一个元素以外的所有元素

CSS nth-child在长度未知时选择除最后一个元素以外的所有元素

如何使用jQuery隐藏除最后一个元素以外的所有元素(按类)

如何从数组中删除除JavaScript中的第一个元素以外的所有元素

使用jQuery禁用除表单中的某些元素以外的所有输入元素

对除最后一个元素以外的所有元素应用border-right

设置除最后四个元素以外的所有元素的样式

除最后一个元素以外的所有元素上的边距

获取文档中除id为'main-nav'的元素以外的所有元素。

如何使节点列表中除目标元素以外的所有元素消失?

如何从数组中删除除最后N个元素以外的所有元素?

为除第一个元素以外的所有元素实现代码

我如何使用jQuery获取除最后一个元素以外的所有元素

单击元素以遍历容器

怎么做:“选择除此元素以外的所有其他元素”

在jQuery中选择除...以外的所有元素

选择除最后一个以外的所有元素

Angular 2 Dart:如何检测除元素以外的所有内容?

CIAreaHistogram给我除最后一个元素以外的所有0?

删除Java中除某些DOM元素以外的所有内容?

正则表达式匹配除具有特定属性的元素以外的所有其他元素