<div id="myDiv">
<a>...</a>
<a>...</a>
<a>...</a>
<a>...</a>
<a>...</a>
<a>...</a>
</div>
如果你想在上面的例子中选择第2,第3和第4 a
个标签,你会怎么做?我唯一能想到的是:
$("#myDiv a:eq(1), #myDiv a:eq(2), #myDiv a:eq(3)")
但这看起来并不高效或漂亮。我猜您也可以选择所有a
,然后对它们运行.each
,但如果a
更多,则效率会非常低。
答案 0 :(得分:108)
jQuery slice()函数获取第一个和最后一个所需元素的索引,选择匹配元素的子集。注意它不包括最后一个元素本身。
在您的特定情况下,您应该使用
$("#myDiv a").slice(1, 4)
答案 1 :(得分:9)
使用.slice()功能完全符合我的需要。
答案 2 :(得分:3)
你应该能够通过提取数组的切片来做到这一点。这是行
$("div[id='myDiv'] > a").slice(1,4).css("background","yellow");
你感兴趣的是。它会影响第2,第3和第4个元素。
<html>
<head>
<script type="text/javascript" src="jquery-1.2.6.pack.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(event){
$("div[id='myDiv'] > a").slice(1,4).css("background","yellow");
event.preventDefault();
});
});
</script>
</head>
<body>
<div id="myDiv">
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
<a>5</a>
<a>6</a>
</div>
<hr>
<a href="" >Click here</a>
<hr>
</body>
</html>