如何獲取某些元素的訂單號由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;
}