假设我在嵌入式div中的各个级别的页面上有多个表(没有ID或名称)。我的选择器是什么(如果可能的话)选择所有表而不管它在页面上的位置,并根据第一行中第一个单元格的内容迭代或过滤表格?
答案 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")')
之类的内容来抓取第一行中包含特定内容的第一个单元格。