如何获取某些元素的订单号由javascript/jquery?如何获取元素订单号
<ul>
<li>Anton</li>
<li class="abc">Victor</li>
<li class="abc">Simon</li>
<li>Adam</li>
<li>Peter</li>
<li class="abc">Tom</li>
</ul>
有3xli与ABC类。现在我需要获得Simon李的订单(序列号)。
在此先感谢
如何获取某些元素的订单号由javascript/jquery?如何获取元素订单号
<ul>
<li>Anton</li>
<li class="abc">Victor</li>
<li class="abc">Simon</li>
<li>Adam</li>
<li>Peter</li>
<li class="abc">Tom</li>
</ul>
有3xli与ABC类。现在我需要获得Simon李的订单(序列号)。
在此先感谢
与jQuery的index()方法
您可以使用选择与.index()
,这样做是这样的:
没有选择,你会获得2
,父母整体中的<li>
的索引,不管类别如何。 You can view a quick demo here。请记住这是一个基于0的索引,在某些情况下可能需要+ 1
显示的结果,取决于您需要的结果。
只需修复@Nick Craver的答案。我尝试使用.index('.class_name')
,并保持返回-1找不到。我当时做的是.index($('.class_name'))
,它给了我预期的结果。我想它需要一个dom节点对象的值,而不仅仅是一个选择器。
对于那些你们谁喜欢You Might Not Need Jquery方法,这里是方法:
function index(el) {
if (!el) return -1;
var i = 0;
do {
if (el.nodeType === 1) i++;
el = el.previousSibling;
} while (el)
return i;
}
IE9 +版本:
function index(el) {
if (!el) return -1;
var i = 0;
do {
i++;
} while (el = el.previousElementSibling);
return i;
}