2016-03-10 95 views
-2

的數量/位置在我的HTML頁面我有這個名單如何獲得一個元素

<ul> 
    <li id=a></li> 
    <li id=b></li> 
    <li id=c></li> 
    ... 
</ul> 

我怎樣才能在jQuery的做的就是一個「位置」(意爲n個兒子)標籤知道它的ID?例如像:

$("#c").position() = 3 

意味着$("#c")<ul> 3次孩子。可能嗎?

+3

使用'的.index()'... – Rayon

+1

也許.EQ()也可以工作https://api.jquery.com/eq/ –

+2

'$('li')。on('click',function (){alert($('#c')。index()); })'like [this](https://jsfiddle.net/rayon_1990/778kbdn8/1/) – Rayon

回答

5

使用index()找到元素(從0開始)從匹配的元素集合中的位置。

試試這個:

$('li').on('click', function() { 
 
    alert($('#c').index() + 1); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<ul> 
 
    <li id=a>Click here!</li> 
 
    <li id=b>Click here!</li> 
 
    <li id=c>Click here!</li> 
 
</ul>

Fiddle here

要找到單擊元素的位置:

$('li').on('click', function() { 
 
    alert($(this).index() + 1); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<ul> 
 
    <li id=a>Click here!</li> 
 
    <li id=b>Click here!</li> 
 
    <li id=c>Click here!</li> 
 
</ul>

0
<ul> 
    <li id="foo">foo</li> 
    <li id="bar">bar</li> 
    <li id="baz">baz</li> 
</ul> 

var listItem = document.getElementById("bar"); 
alert("Index: " + $("li").index(listItem)); 
1

如果你想知道父母的孩子的位置,那麼你必須使用jQuery的.index()功能。

例子:

HTML:

<ul> 
    <li>A</li> 
    <li>B</li> 
    <li>C</li> 
</ul> 

的jQuery:

$('li').on('click', function() { 
    index = $(this).index(); 
    position = index + 1; 
    alert(position);//Here is the position of child ul. 
});