2011-06-16 77 views
1

我喜歡我的html代碼:如何使用jQuery獲取第n個孩子的屬性?

<ul id="abc"> 
<li><a href="http://koolfinance.blogspot.com/2011/06/laxmi-bank.html">Laxmi Bank</a></li> 
<li><a href="http://koolfinance.blogspot.com/2011/06/nepal-development-bank.html">Nepal 

Development Bank</a></li> 
<li><a href="http://koolfinance.blogspot.com/2011/06/clean-energy-development- 

bank.html">Clean Energy Development Bank</a></li> 
<li><a href="http://koolfinance.blogspot.com/2011/06/gorkha-development-bank.html">Gorkha 

Development Bank</a></li> 
<li><a href="http://koolfinance.blogspot.com/2011/06/bank-of-kathmandu.html">Bank of 

Kathmandu</a></li> 
<li><a href="http://koolfinance.blogspot.com/2011/06/nic-bank.html">NIC Bank</a></li> 
<li><a href="http://koolfinance.blogspot.com/2011/06/bank-of-asia-nepal-limited.html">Bank 

of Asia Nepal Limited</a></li> 
<li><a href="http://koolfinance.blogspot.com/2011/06/nepal-sbi-bank-ltd.html">Nepal SBI 

Bank Ltd.</a></li> 

</ul> 

我需要找到href值或具體指標的標籤的目標頁面。例如: - 如果指數是1,它應該返回:http://koolfinance.blogspot.com/2011/06/nepal-development-bank.html 我想:

$targetLink = $('#abc a:nth-child(' + myIndex + ')').attr('href'); 

但其返回不確定。

回答

1

你選擇了錯誤的子元素:

var targetLink = $('#abc li:nth-child(' + myIndex + ') a').attr('href'); 

選擇裏和孩子的那的第n個孩子。

這裏有一個的jsfiddle演示:

http://jsfiddle.net/G5Cmn/

+0

以及我發現你得到正確答案第一... thnx ... – KoolKabin 2011-06-16 19:14:14

0

看起來您已將您的姓名命名爲var $myIndex,該代碼參考號爲myIndex。 JS中的變量不需要$前綴,因此在使用myIndex時它不會給出錯誤消息。 myIndexundefined因此您的選擇器正在評估爲'#abc a:nth-child(undefined)'這不是有效的選擇器。

編輯

Here is some example code

其他有一點需要注意,在JS數組是從零開始的,但像nth-child選擇CSS的東西都是基於一個這樣得到的是第二個鏈接,你會需要將$myIndex設置爲2而不是1.

+0

抱歉地說,我的變量myIndex已經得到了完全正確的價值我想......它不是不確定的 – KoolKabin 2011-06-16 19:07:57

1

您應該在此處瞭解從零開始的索引。看看我的代碼示例以查看差異。這兩種選擇都可以爲你工作,取決於你想要的東西。

var i = 1; 
$(document).ready(function() { 
    alert($('#abc li:nth-child('+i+') a').attr('href')); 
    alert($('#abc a').eq(i).attr('href')); 

}); 
+0

遺憾地說,你的小提琴將無法正常工作,如果我們將我更改爲5或值> 1 – KoolKabin 2011-06-16 19:06:31

+0

well eq正在工作......但是第n個孩子不是...?我知道爲什麼? – KoolKabin 2011-06-16 19:07:25

+0

我對這個錯字表示歉意。請注意,'a'永遠是其父母'li'的第一個孩子。 ''li'另一方面是'#abc'的孩子 – js1568 2011-06-16 19:11:12