代码之家  ›  专栏  ›  技术社区  ›  bragboy

如何使用jquery批量选择<td>

  •  3
  • bragboy  · 技术社区  · 14 年前

    我有一个有很多行的HTML表。我有七根柱子。每个单元( <td> )表中有一个ID属性,网格为[X][Y],X和Y分别表示列和行。

    例子 <TD & GT; S是

    <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=“available”的列数。如何在jquery中写入?

    所以,为了得到第一列class=“available”,应该是这样的,

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

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

    4 回复  |  直到 14 年前
        1
  •  7
  •   simplyharsh    14 年前

    在这里,

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

    应该给你一些有可用课程和0行的TD。您可以更改行数并获取其他行。

        2
  •  1
  •   James Curran    14 年前
     $("td[id|=grid].available")
    

    这是“具有以“grid”开头的ID和“available”类的TDS”

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

        3
  •  0
  •   corroded    14 年前

    这个怎么样?

    下面是代码

    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++;
      }
    }
    

    这个循环遍历一个特定的列,检查它是否有可用的类并将其相加。

        4
  •  0
  •   Matt Peterson    14 年前

    如果您不想依赖 id 单元格的s为:

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

    请注意 nth-child 选择器是基于1的,而不是基于0的。