我需要在DOM中找到元素当前位置(最好在点击时)。
使用jQuery,如果我事先知道这个位置,我就会得到它:
$('li').get(3);
但有时我依靠$(this)
来获得当前位置:
HTML:
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>
JS:
$('li').click(function(){
// this does not work
console.log($(this).get());
// this does, but I won't know which is clicked
console.log($('li').get(3));
});
对我来说,获得当前职位的最佳途径是什么?最好是一个数字,所以我可以在其他地方使用它。
答案 0 :(得分:3)
您可以使用index获取点击元素的数量。
$(this).index();
索引将从0
$('li').click(function(){
// this does not work
console.log($(this).get());
// Will get index
console.log($(this).index());
// this does, but I won't know which is clicked
console.log($('li').get(3));
});
<强>更新强>
根据您在上一个回答中的评论
如果您想要与所点击的li
的索引相关的图片,您可以试试这个
var index = $(this).index(); // Get index
var img = $("img").get(index); // image selector may vary
答案 1 :(得分:1)
答案 2 :(得分:0)
您正在寻找index()
method:
$('li').click(function(){
console.log($(this).index());
});
答案 3 :(得分:0)
您可以使用index:
$('li').click(function() {
console.log($(this).index());
});
而且,您可以使用$ .each:
$('li').each(function(index) {
console.log([$(this), index]);
});