<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
</head>
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<script>$("ul li:nth-child(3)").append("<span> - Selected!</span>");</script>
</body>
</html>
我想选择li编号3和:nth-child(3)
,但问题是li标签是随机的,有时它可能是6或9或20 ..所以如何获得最后一个然后使用prev( )?
答案 0 :(得分:8)
.eq
接受负数指数,从最后算起。请注意,.eq
依赖于集,而不是实际的子索引。但是,在您的情况下,该集合仅由ul
的子集组成,因此不会产生影响。
$("ul li").eq(-2); // -1 is last, -2 is one before last
答案 1 :(得分:3)
使用:nth-last-child
选择器:
$("ul li:nth-last-child(2)")
答案 2 :(得分:1)
试试这个:
$("ul li:last").prev("li").append("<span> - Selected!</span>");
答案 3 :(得分:1)
使用.last()
方法或:last
选择器:
$('ul li:last').append("whatever");
答案 4 :(得分:0)
请试试这个:
$('ul li:last').prev();
答案 5 :(得分:0)
不是最优雅的方式,但有时候有所选元素列表是有用的:
var liList = $('#testUl li');
var value = $(liList[liList.length-2]).text();