如何使用 jQuery 获取第 n 个子元素的属性?
我的 html 代码如下:
<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');
但它返回未定义。
I have my html code like:
<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>
I need to find the href
value or a tag's target page of specific index. E.g.: if the index is 1, it should return: http://koolfinance.blogspot.com/2011/06/nepal-development-bank.html
I tried:
$targetLink = $('#abc a:nth-child(' + myIndex + ')').attr('href');
but its returning undefined.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您选择了错误的子元素:
选择 li 的第 n 个子元素及其子元素 a。
这是一个 jsfiddle 演示:
http://jsfiddle.net/G5Cmn/
You're selecting the wrong child element:
Select the nth-child of the li and the child a of that.
here's a jsfiddle to demo:
http://jsfiddle.net/G5Cmn/
您应该注意这里的从零开始的索引。看一下我的代码示例,看看有什么不同。这两种选择都适合您,具体取决于您的需求。
You should be aware of the zero-based index here. Take a look at my code sample to see the difference. Both options could work for you depending on what you want.
看起来您将变量命名为
$myIndex
并且该代码引用了myIndex
。 JS 中的变量不需要$
前缀,因此当您使用myIndex
时,它不会给出错误消息。myIndex
是undefined
,因此您的选择器计算结果为'#abc a:nth-child(undefined)'
,这不是有效的选择器。编辑
这里是一些示例代码
另一件需要注意的事情是,在 JS 数组中为零-based 但 CSS 中的内容(例如
nth-child
选择器)是基于 1 的,因此要获取第二个链接,您需要将$myIndex
设置为 2,而不是 1。Looks like you named your var
$myIndex
and that code referencesmyIndex
. Variables in JS don't require a$
prefix so it's not giving you error messages when you usemyIndex
.myIndex
isundefined
so your selector is evaluating to'#abc a:nth-child(undefined)'
which is not a valid selector.edit
Here is some example code
One other thing to note, in JS arrays are zero-based but the things in CSS like the
nth-child
selector are one-based so to get that second link you would need to set$myIndex
to 2, not 1.