如何使用jQuery批量选择

时间:2010-08-17 14:15:57

标签: jquery

我有一个包含很多行的HTML表。我有七列。表中的每个单元格(<td>)都有一个ID属性,其中grid [x] [y],x和y分别代表列和行。

示例<td>

<td id="grid[2][2]" class="available"...> -- This indicates 3rd column 3rd row 
<td id="grid[2][4]" class="unavailable"...> -- This indicates 3rd column 5th row 

等等。

现在我需要编写一个查询,它给出了class =“available”或class =“unavailable”的列数。如何用jQuery编写它?

因此,为了获得第一列具有class =“available”的列,它将是这样的,

(id = grid[0]* and class == "available").size

请帮助我将上述(一个愚蠢的查询)转换为有意义的jQuery。

4 个答案:

答案 0 :(得分:7)

下面,

$("td[id^='grid[0]'].available").length

应该给你带有可用类和0行的td数。你可以改变行号并获得其他人。

答案 1 :(得分:1)

 $("td[id|=grid].available")

这是“具有以'grid'开头的ID和'avaiable'类的TD”

现在的问题是括号用于“搜索属性”选择器,我不知道如何在搜索文本部分使用then。

答案 2 :(得分:0)

这个怎么样?

这是代码

var $column_number = 2;
var $total_for_column_2 = 0;
for(var $i=0;$i<$total_number_of_rows;$i++) {
  if ( $("td[id=grid[+ $i +"]["+ $column_number +"]").hasClass("available") ) {
    $total_for_column2++;
  }
}

这个循环遍历特定列,检查它是否具有可用类并将其添加

答案 3 :(得分:0)

如果您不想依赖单元格的id,您可以使用的另一种方法是:

$("#myTable").find("td:nth-child(1).available").length

请注意nth-child选择器是从1开始的,而不是从0开始。