gpt4 book ai didi

javascript - 更改两个 i 类元素中的类名

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:32:10 25 4
gpt4 key购买 nike

我需要在 <i> 中单击更改类元素,它有 2 个类。第一类总是“fa”,第二类总是“fa-minus”或“fa-plus”。我需要将第二类从“减号”更改为“加号”,将“加号”更改为“减号”,具体取决于它已经拥有的类别。你介意帮我吗?现在完全没用

   <a href="#!"><div class="menuSlide">Products <i class="fa fa-minus"></i></div></a>

<a href="#!"><div class="menuSlide"> Multimedia <i class="fa fa-plus"></i></div></a><br /><br />

<script>
$(".menuSlide").click(function(){
if($(this).next(".fa").attr("class") == "fa-minus"){
$(this).next(".fa").removeClass("fa-minus");
$(this).next(".fa").addClass("fa-plus");
}
else{
$(this).next(".fa").removeClass("fa-plus");
$(this).next(".fa").addClass("fa-minus");
}
});
</script>

最佳答案

.fa 不是兄弟元素,而是 .menuSlide 的子元素,所以 .next()是不正确的。您可以使用 .find() .hasClass()相反:

$(".menuSlide").click(function() {
if ($(this).find(".fa").hasClass("fa-minus")) {
$(this).find(".fa").removeClass("fa-minus");
$(this).find(".fa").addClass("fa-plus");
} else {
$(this).find(".fa").removeClass("fa-plus");
$(this).find(".fa").addClass("fa-minus");
}
});
.fa-minus:before {
content: "-";
}
.fa-plus:before {
content: "+";
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#!">
<div class="menuSlide">Products <i class="fa fa-minus"></i>
</div>
</a>

<a href="#!">
<div class="menuSlide">Multimedia <i class="fa fa-plus"></i>
</div>
</a>
<br />
<br />

关于javascript - 更改两个 i 类元素中的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33413028/

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