如何使用jQuery获取第n个孩子的属性?
我喜欢我的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');
但其返回不确定。
你选择了错误的子元素:
var targetLink = $('#abc li:nth-child(' + myIndex + ') a').attr('href');
选择里和孩子的那的第n个孩子。
这里有一个的jsfiddle演示:
看起来您已将您的姓名命名为var $myIndex
,该代码参考号为myIndex
。 JS中的变量不需要$
前缀,因此在使用myIndex
时它不会给出错误消息。 myIndex
是undefined
因此您的选择器正在评估为'#abc a:nth-child(undefined)'
这不是有效的选择器。
编辑
其他有一点需要注意,在JS数组是从零开始的,但像nth-child
选择CSS的东西都是基于一个这样得到的是第二个链接,你会需要将$myIndex
设置为2而不是1.
抱歉地说,我的变量myIndex已经得到了完全正确的价值我想......它不是不确定的 – KoolKabin 2011-06-16 19:07:57
您应该在此处了解从零开始的索引。看看我的代码示例以查看差异。这两种选择都可以为你工作,取决于你想要的东西。
var i = 1;
$(document).ready(function() {
alert($('#abc li:nth-child('+i+') a').attr('href'));
alert($('#abc a').eq(i).attr('href'));
});
以及我发现你得到正确答案第一... thnx ... – KoolKabin 2011-06-16 19:14:14