gpt4 book ai didi

javascript - jQuery 添加和删除父元素的类(一页中多次)

转载 作者:行者123 更新时间:2023-12-02 15:14:46 25 4
gpt4 key购买 nike

我在网页上使用单选按钮作为过滤器,并且单选按钮被隐藏,我只显示标签。代码如下所示:

<div class="filter">
<div class="field_row label-selected">
<input id="field_6_95_0" class="filteDataForSerialize" type="radio" value="0" name="f[g][6]">
<label for="field_6_95_0">Option 1</label>
</div>
<div class="field_row">
<input id="field_6_95_1" class="filteDataForSerialize" type="radio" value="1" name="f[g][6]">
<label for="field_6_95_1">Option 2</label>
</div>
<div class="field_row">
<input id="field_6_95_2" class="filteDataForSerialize" type="radio" value="2" name="f[g][6]">
<label for="field_6_95_2">Option 3</label>
</div>
</div>

我正在使用以下脚本:

jQuery('.filter div:first').addClass('label-selected');
jQuery('.filter label').on('click', function() {
var parent_div = jQuery(this).parent().addClass('label-selected');
jQuery('.filter').find('div').not(parent_div).removeClass('label-selected');
});

因此,默认情况下,第一个元素获得了标签选择的类,当我选择任何其他元素时,该元素将从另一个元素中删除该类和脚本。它一直有效,直到我在同一页面中多次使用相同的 html 片段。在这种情况下,jQuery 从页面中删除每个标签选择的类。

我认为 CSS 不会影响它,但是:

.field_row > input{display:none};
.field_row > label{display:block;cursor:pointer;padding: 5px 10px;}
.label-selected > label{bacground-color:#000;color:#fff;}

最佳答案

您可以从所有标签的父级 siblings 中删除该类。 .

jQuery('.filter label').on('click', function() {
var parent_div = jQuery(this).parent().addClass('label-selected');
parent_div.siblings().removeClass('label-selected');
});

关于javascript - jQuery 添加和删除父元素的类(一页中多次),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34552151/

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