我有像这样的HTML
<ul class="menu">
<li>
<a href="#1"></a>
</li>
<div></div>
<li>
<a href="#2"></a>
</li>
<div></div>
<li>
<a href="#3"></a>
</li>
<div></div>
<li>
<a href="#4"></a>
</li>
<div></div>
</ul>
我想定位最后一个链接(#4)并将其存储到名为tab的变量中。这是我写的,但我知道这是错的
var tab = $(".menu").is(":nth-last-child(2)").children().attr("href");
答案 0 :(得分:3)
如果您想要倒数第二个孩子的锚点,请执行
var children = $('.menu').children();
var childCount = $('.menu').children().length;
var secondToLast = children[childCount - 2];
var anchor = $(secondToLast).find('[href]');
var href = anchor.attr('href');
var children = $('.menu').children();
var childCount = $('.menu').children().length;
var secondToLast = children[childCount - 2];
var anchor = $(secondToLast).find('[href]');
var href = anchor.attr('href');
console.log(href);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul class="menu">
<li>
<a href="#1"></a>
</li>
<div></div>
<li>
<a href="#2"></a>
</li>
<div></div>
<li>
<a href="#3"></a>
</li>
<div></div>
<li>
<a href="#4"></a>
</li>
<div></div>
</ul>
&#13;
否则,如果你想要最后一个锚,无论如何
var lastAnchor = $('a:last');
var href = lastAnchor.attr('href');
var lastAnchor = $('a:last');
var href = lastAnchor.attr('href');
console.log(href);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul class="menu">
<li>
<a href="#1"></a>
</li>
<div></div>
<li>
<a href="#2"></a>
</li>
<div></div>
<li>
<a href="#3"></a>
</li>
<div></div>
<li>
<a href="#4"></a>
</li>
<div></div>
</ul>
&#13;
答案 1 :(得分:1)
这将选择第二个到最后一个li
元素的a
标记
$('.menu').find('li:nth-last-child(2) a')
如果每个a
有多个li
代码,您可以通过向a添加a
来指定所需的nth-child
个孩子。例如,要使用您将使用的倒数第二个a
来抓取第一个li
标记:
$('.menu').find('li:nth-last-child(2) a:nth-child(1)')
这是一个通过修改背景颜色来展示选择的小提琴