选择器 - 在jQuery中选择页面上的所有表

时间:2009-12-11 17:05:55

标签: javascript jquery

假设我在嵌入式div中的各个级别的页面上有多个表(没有ID或名称)。我的选择器是什么(如果可能的话)选择所有表而不管它在页面上的位置,并根据第一行中第一个单元格的内容迭代或过滤表格?

8 个答案:

答案 0 :(得分:10)

您只需使用$('table')作为选择器。

然后,您可以使用现有的过滤条件,例如“:contains”或“:has”,或.filter()功能,以便在过滤结果时需要更精细的控制。例如,

$('table:has(td > span)')

$('table').filter(function(index){
  return $(this).html() == "<tr><td>something</td></tr>";
});

答案 1 :(得分:3)

...试

$("table").each(function(){
  var curTable = $(this);
  var cell = $(this).find("tr:first td:first");

  if ($(cell).text() == "some text"){
  }
});

或者你可以通过$(cell).html()

检查if子句中第一个单元格的html。

答案 2 :(得分:2)

选择所有表格并不简单:

$("table")

添加过滤器

$("table:has(td:first:contains('mytext'))")

答案 3 :(得分:2)

这将选择所有表格:

$("table")

这将选择每个表的第一行的第一个TD单元格:

$("table tr:first td:first")

答案 4 :(得分:2)

您只需使用jQuery('table')即可获得每张桌子。表格是在各种级别中还是嵌入在div中或者不会发生变化。

进行额外过滤:

jQuery('table').filter( function() { ... } );

传入的函数会将表元素映射到this,您需要返回true以将其保留在集合中,或者返回false以丢弃它。

答案 5 :(得分:1)

 $('table').each(function(){
     $(this).find('tr :first')...
 });

答案 6 :(得分:0)

如果您想查看每个表格第一行中的第一个单元格,可以使用:

$("table tr:first td:first").each(function() { var html = this.innerHTML; /* Iterative logic here */ });

答案 7 :(得分:0)

您应尝试使用$('table tr:first td:first:containts("whatever")')之类的内容来抓取第一行中包含特定内容的第一个单元格。