gpt4 book ai didi

javascript - JQuery .not(find()) 或 - 可以使用吗?

转载 作者:行者123 更新时间:2023-11-30 17:46:42 24 4
gpt4 key购买 nike

我有以下 html:

<div class="profileRowHeader"><!-- div 1 -->
<div class="folderIcon">
<i class="glyphicon glyphicon-arrow-close"></i>
</div>
</div>

<div class="profileRowHeader"><!-- div 2 -->
<div class="folderIcon">
<i class="glyphicon glyphicon-folder-open"></i>
</div>
</div>

<div class="profileRowHeader"><!-- div 3 -->
<div class="folderIcon">
<i class="glyphicon glyphicon-folder-close"></i>
</div>
</div>

当我单击类为 .profileRowHeader 的元素时,它会执行一些操作并将图标文件夹从关闭更改为打开。如上面的中间 div。

$this.find(".folderIcon").toggleClass('glyphicon-folder-open glyphicon-folder-close');

效果很好。现在,如果我点击上面的 div 3,div 2 的图标文件夹仍然处于打开状态,因此为了解决这个问题,只要单击任何 profileHeaderRow,我都会关闭所有文件夹图标。

$(".folderIcon").removeClass('glyphicon-folder-open').addClass('glyphicon-folder-close');

问题当然是我正在使用 toggleClass,所以我单击的 div 中的图标将关闭,然后将再次打开。

那么,我能否以某种方式在我单击的 div 中找到类 folderIcon 并且不对其应用类更改。希望这是有道理的。

这是我正在尝试但根本行不通的方法:

$(".folderIcon").not(find(".folderIcon")).removeClass('glyphicon-folder-open').removeClass('greenDragBg').addClass('glyphicon-folder-close');

完整代码:

$('.profileRowHeader').click(function() {

$(".folderIcon").not(find(".folderIcon")).removeClass('glyphicon-folder-open').addClass('glyphicon-folder-close');

$this.find(".folderIcon").toggleClass('glyphicon-folder-open glyphicon-folder-close');

});

总结: 我有 x 个 div 类 profileRowHeader 其中每个是一个文件夹图标,全部关闭...当我点击任何一个 div 时class profileRowHeader 我希望该图标打开,其余图标关闭。当我再次单击该 div 时,它变为关闭图标。但是,如果它保持打开状态并单击另一个 div,它应该关闭打开的那个,并且新 profileRowHeader 中的新文件夹图标变为打开状态。

希望这更清楚一些

最佳答案

这就是您可以 find 的方法单击元素内的元素:

$(".folderIcon").not( $(this).find(".folderIcon") ) //...

或者设置一个稍短的版本 context对于选择器:

$(".folderIcon").not( $(".folderIcon", this) ) //...

关于javascript - JQuery .not(find()) 或 - 可以使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20002660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com