Javascript 这是一个怎样的元素?

Javascript 这是一个怎样的元素?,javascript,jquery,Javascript,Jquery,我如何知道一个元素有多大?(使用Javascript或jQuery) 假设我有一个UL,其中有多个LI,我如何知道单击的LI是第4个还是第6个 $('li').click(function(){ nth = $(this).nth(); alert(nth); }); 您可以尝试一个nth=$(this).prevAll().count()+1您可以使用index方法: var nth = $(this).index()+1; 您可以使用jQuery来实现这一点 ​$("li

我如何知道一个元素有多大?(使用Javascript或jQuery) 假设我有一个UL,其中有多个LI,我如何知道单击的LI是第4个还是第6个

$('li').click(function(){
    nth = $(this).nth();
    alert(nth);
});

您可以尝试一个
nth=$(this).prevAll().count()+1

您可以使用index方法:

var nth = $(this).index()+1;
您可以使用jQuery来实现这一点

​$("li").click(function() {
    var nth = $("ul li").index($(this));
    alert(nth);
});​

我做的事情

$('li').each(function (i) {
  $(this).data("pos", i);
}).click(function() {
  var nth = $(this).data("pos");
  alert(nth);
});

我总是需要其他东西的位置,所以我保存它。

这个答案比使用$(this).index()的答案的优点是,如果ul元素的一些子元素不是li元素,它也可以正常工作。@混淆-如果ul的直接子元素不是li元素,它们会是有效元素吗?我猜这并不能改变一些浏览器会在索引中考虑它们的事实。“凯文-我认为你可以直接嵌套列表,但是它似乎已经被弃用了,如
$('li').each(function (i) {
  $(this).data("pos", i);
}).click(function() {
  var nth = $(this).data("pos");
  alert(nth);
});