希望在jQuery迭代中只显示/隐藏指定的元素
want to show / hide only the specified elements in jQuery iteration
我有以下代码,我想在其中显示/隐藏基于鼠标悬停的不同文本。我正在使用一个数据全局id值,并希望迭代项目列表的子项,并隐藏除指定值之外的所有值(例如,数据全局id=1的项目1):
<script>
$(document).ready(function() {
$('.item-list').hide();
$('.h').mouseover(function() {
// need to hide everything but the 1 or 2
var id = $(this).data('global-id');
var chil=$('.item-list').children();
$.each(chil, function(i,v){
alert(i);
console.log(v);
});
});
});
</script>
<style>
.h{
width: 200px;
border: 1px solid red;
}
</style>
<ul>
<li><div class='h' data-global-id="1">Client 1</div></li>
<li><div class='h' data-global-id="2">Client 2</div></li>
</ul>
<ul class="item-list">
<li class="item-1">
Lorem ipsum jtjtjt, etc...
</li>
<li class="item-2">
Lorem ipsum, etc...
</li>
</ul>
如何在每个循环中指定隐藏所有内容并只显示项+数据全局id值?有更好/更容易的方法吗?
thx
我不完全确定这是否是你想要的,但我无论如何都会试一试,
由于您已经在项目中使用jQuery,因此可以根据data-global-id
值进行直接搜索,如下所示
//Provide the same global-id key to each .item-list member
//Then do the following in your mouse over func
var id = $(this).data('global-id');
var chil=$('.item-list').children().show().
not('[data-global-id="'+ id +'"]').hide();
编辑-添加了Fiddle
在这里查看小提琴
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 随时隐藏元素
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 隐藏元素直到加载完成(ng斗篷不是我需要的)
- 在具有类的元素中隐藏元素
- javascript()onclick隐藏元素-dos'我不在firefox工作
- JQueryHide()在按钮中使用元素时不会隐藏元素
- 使用Javascript取消隐藏元素
- 如果鼠标离开父对象,则隐藏元素
- 如何在jquery ajax成功html响应中找到输入隐藏元素
- 基于事件在循环中隐藏元素
- 渐进式增强-不使用CSS隐藏元素
- 隐藏元素后更新滚动条
- jQuery没有隐藏元素
- jQuery隐藏元素在使用CSS显示时保持隐藏状态
- 如何使用javascript在区域外单击时隐藏元素
- 如何在加载网页时隐藏元素
- JS:隐藏元素上的事件侦听器
- HTML 显示/隐藏元素 JS 不起作用