JQuery 隐藏除当前元素之外的所有元素
JQuery hides all element besides current element
我有 4 个块,每当我按下其中一个块时,里面就会出现一个复选框。如果我单击另一个块,当前复选框将消失,另一个复选框将出现,这很好。问题是,如果我单击一个块并出现复选框,当我按下该复选框时,该块将消失,而不应该消失。
我有以下 html 代码:
<div class="item">1 <input class="hidden" type="checkbox"></div>
<div class="item">2 <input class="hidden" type="checkbox"></div>
<div class="item">3 <input class="hidden" type="checkbox"></div>
<div class="item">4 <input class="hidden" type="checkbox"></div>
以下 CSS 代码:
.hidden {
display: none;
}
和JavaScript代码:
$(".item").click(function(){
$(".item").find('input').hide();
$(this).find('input').show('fast');
});
为了隐藏除当前复选框(我单击的块)之外可见的所有复选框,我该怎么办?
像这样使用.not()
过滤器
$(".item").click(function(){
$(".item").not(this).find('input').hide();
});
编辑:
您可能需要考虑用户是否想要改变主意,并重新启用所有选项。您可以像这样执行此操作:
$(".item").click(function(){
var items = $(".item").not(this).find('input');
if($('input',this).is(':checked')) items.hide();
else items.show();
});
http://jsfiddle.net/r8yBd/
尝试
$(".item").click(function(){
$(".item").find('input').addClass('hidden');
$(this).find('input').removeClass('hidden');
});
相关文章:
- 可以't附加html元素jquery
- 循环遍历元素jquery选择器
- 在ajax加载的元素jquery上包含现有的jquery函数
- 如何删除元素列表中的类并添加到另一个元素 Jquery.
- 获取单击的类元素 jQuery 的名称值
- 获取上一个元素 jQuery 的内容
- 根据另一个元素的更改获取一个元素(jquery)
- 区分不同的可拖放元素(jQuery 拖放)
- 除了最后一个<td>元素-Jquery
- 获取子元素jQuery的单选按钮值
- 捕获元素jquery外部的mousedown事件
- .append到非DOM元素jQuery
- 获取其父元素的精确子元素.Jquery
- 获取重复结构中的特定元素jquery
- 捕获隐藏输入元素jQuery的值
- 使用onclick函数获取点击的元素jquery
- 返回父元素 jquery 中的输入值
- 按属性查找元素 jQuery
- 选择元素 jQuery
- 按子元素 - jQuery 的数据 ID 对 li 进行排序