如何在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>