首先抱歉我的英语不好,
我遇到.eq()
jQuety函数的小问题。
我有以下HTML:
<ul>
<li>1</li>
<li>2</li>
<li>2</li>
</ul>
我想查看.click
这是第二个li还是第三个li的第一个li。
如果它是第一个或第二个我想要.hide
一个div,如果它是第三个我想要.show
它。
:not
功能,但它不支持IE8,所以我不能你。
谢谢,阿米特
编辑:谢谢,我结束了这个:if($(this).is(':nth-child(3)') == true) {
$("#redB .bundleInfo p").show();
}else {
$("#redB .bundleInfo p").hide();
};
答案 0 :(得分:1)
您可以使用index
方法:
var $li = $('ul li');
$li.click(function(){
$('div').toggle( $li.index(this) > 1 );
})
答案 1 :(得分:1)
试试这个
$("ul li").each(function(){
$(this).click(function(){
if (index >= 0 && index <= 1) {
// here someting
} else {
// here someting
}
});
});
答案 2 :(得分:0)
鉴于您当前的HTML,您可以执行以下操作:
$("li").bind("click", function(){
var myLiElems= $("li");
var curIdx = myLiElems.index($(this));
if (2 == curIdx) {
// show my div
} else {
// hide my div
}
});
有关jQuery的index()函数的更多信息,请访问:http://api.jquery.com/index/
鉴于您当前的javascript,您需要在此处查看eq()函数的文档:http://api.jquery.com/eq/它无法正常工作。
答案 3 :(得分:0)
试
$('li').click(function(){
switch($(this).index()){
case 0:
alert("its 0");
break;
case 1:
alert("its 1");
break;
case 2:
alert("its 2");
break;
default:
alert("other")
break;
}
})
答案 4 :(得分:0)
您可以使用$(this).index()
来获取ul中点击的li的位置(0-indexed)。
的 The live demo. 强> 的
$('ul > li').click(function() {
var index = $(this).index();
if (index >= 0 && index <= 1) {
// do something
} else {
// do someting else
}
});