我想使用JQuery找到一个元素位置。使用.position。不是X和Y位置。
例如
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
和js
//return the li pos
$('li').click(function(){...})
例如,如果我点击第三个li函数返回li pos witch是2
我尝试了一些但不起作用
$('li').click(function(){
for(var i = 0; i < $('li').length; i++){
if($('li:eq('+i+')') == $(this)){
alert(i);
return true;
}
}
alert('fail');
return false;
})
我总是失败
由于
答案 0 :(得分:10)
使用index()获取排名。它会为您提供zero-based index
,因此您将获得第一个元素的0
。
<强> Live Demo 强>
$('li').click(function(){
alert($(this).index())
});
答案 1 :(得分:2)
您只需使用.index()
查找li
$('li').click(function(){
alert($(this).index());
})
答案 2 :(得分:0)
您可以使用prev()
方法返回上一个元素。
$('li').click(function() {
var previous = $(this).prev();
console.log(previous.index());
});
答案 3 :(得分:0)
试试(http://jsfiddle.net/DfXwq/):
$('li').click(function(e){
var target = e.target,
parent = target.parentNode
number = $(parent).children().index(target );
console.log(number);
});