Jquery 根据索引隐藏/显示div,可以';无法获得正确的索引
我以前从未遇到过这个问题,但我正在尝试基于索引隐藏/显示div。但是,它要么只处理第一行,然后再复制第一行,要么将每个节都计算为索引1Jquery 根据索引隐藏/显示div,可以';无法获得正确的索引,jquery,Jquery,我以前从未遇到过这个问题,但我正在尝试基于索引隐藏/显示div。但是,它要么只处理第一行,然后再复制第一行,要么将每个节都计算为索引1 $(文档).ready(函数(){ $('.box高亮显示').hide(); $('.container.box')。单击(函数(){ var a=$(this.index(); $('.box').hide(); $('.box highlight').eq(a).show(); }); }); .box{ 身高:5公分; 背景:#e5; } 方框1 方
$(文档).ready(函数(){
$('.box高亮显示').hide();
$('.container.box')。单击(函数(){
var a=$(this.index();
$('.box').hide();
$('.box highlight').eq(a).show();
});
});代码>
.box{
身高:5公分;
背景:#e5;
}
方框1
方框2
方框3
方框4
方框5
方框6
方框7
方框8
方框9
这是方框1的信息
这是方框2的信息
这是方框3的信息
这是方框4的信息
这是方框5的信息
这是方框6的信息
这是第7栏的信息
这是第8栏的信息
这是第9栏的信息
一个简单的
alert(a);
在$(this.index()
之后显示为什么它总是显示第一个:a总是=0
从索引()的文档中:
如果未向.index()方法传递任何参数,则返回值为
一个整数,指示第一个元素在
相对于其同级元素的jQuery对象
由于所有的
标记都位于不同的col-sm-4中,因此它们没有任何同级,因此始终为0(它们是)
下一段说明:
如果对元素集合和DOM元素调用.index(),或
传入jQuery对象,.index()返回一个整数,指示
传递的元素相对于原始集合的位置
及
如果选择器字符串作为参数传递,.index()将返回一个
指示jQuery中第一个元素的位置的整数
对象相对于选择器匹配的元素。如果
未找到元素,.index()将返回-1
因此,您可以将代码更改为:
var a = $(this).index(".container .box");
而且效果很好
这里有一个修改应用的JSFIDLE:谢谢您的解释。我现在明白多了。