我有一系列索引(没有特定顺序),我需要根据这些索引选择表中的所有<tr>
。
我有什么感觉马虎&amp;效率低下。有没有更好的方法来编写这个选择器?
对于那些喜欢摆弄的人:http://jsfiddle.net/PwnhJ/1/
对于其他人:
<table>
<tr>
<td>one</td>
</tr>
<tr>
<td>two</td>
</tr>
<tr>
<td>three</td>
</tr>
<tr>
<td>four</td>
</tr>
<tr>
<td>five</td>
</tr>
<tr>
<td>six</td>
</tr>
<tr>
<td>seven</td>
</tr>
</table>
var indices = [0,3,4,6];
//What I'd love to do
alert($("tr").eq(indices).length); //returns 0
//What does work, but feels sloppy & inefficient
var selector = "";
$(indices).each(function(i, index){
selector += "tr:eq(" + index + ")";
if(i + 1 != indices.length){
selector += ","
}
});
alert($(selector).length); //returns 4
任何帮助,评论和建议将不胜感激。
谢谢!
答案 0 :(得分:6)
var indices = [0,3,4,6];
console.log( jQuery( "table tr").filter( function(){
return jQuery.inArray( this.rowIndex, indices ) > -1;
}));
答案 1 :(得分:1)
试试这个
var indices = [0,3,4,6];
$( "table > tr").filter( function(index){
return $.inArray(index, indices) > -1;
});