如何在jQuery中select一系列元素

<div id="myDiv"> <a>...</a> <a>...</a> <a>...</a> <a>...</a> <a>...</a> <a>...</a> </div> 

如果你想在上面的例子中select第二,第三和第四a标签,你会怎么做? 我能想到的唯一的事情是:

 $("#myDiv a:eq(1), #myDiv a:eq(2), #myDiv a:eq(3)") 

但是,这看起来不是很有效率或漂亮。 我想你也可以select所有的a ,然后运行,但是如果还有更多a话,那么效率可能会非常低下。

采用第一个和最后一个需要元素的索引的jQuery slice()函数select匹配元素的一个子集。 注意它不包含最后一个元素本身。

在你的具体情况下,你应该使用

 $("#myDiv a").slice(1, 4) 

使用.slice()函数正是我所需要的。

你应该可以通过提取数组的片段来完成。 这是线路

 $("div[id='myDiv'] > a").slice(1,4).css("background","yellow"); 

你感兴趣的,会影响第二,第三和第四个元素。

 <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>