选择器 – 在jQuery中选择页面上的所有表
假设我在嵌入式div中的各个级别的页面上有多个表(没有ID或名称)。 我的选择器是什么(如果可能的话)选择所有表而不管它在页面上的位置,并根据第一行中第一个单元格的内容迭代或过滤表格?
您只需使用$('table')
作为选择器即可。
然后,如果在过滤结果时需要更精细的控制,则可以使用现有的filter,例如“ :contains
”或“ :has
”,或.filter()
函数。 例如,
$('table:has(td > span)')
要么
$('table').filter(function(index){ return $(this).html() == "something "; });
尝试…
$("table").each(function(){ var curTable = $(this); var cell = $(this).find("tr:first td:first"); if ($(cell).text() == "some text"){ } });
或者你可以通过$(cell).html()检查if子句中第一个单元格的html
选择所有表格并不简单:
$("table")
添加filter
$("table:has(td:first:contains('mytext'))")
这将选择所有表:
$("table")
这将选择每个表的第一行的第一个TD单元:
$("table tr:first td:first")
你可以通过使用jQuery('table')
获得每个表。 表格是在各种级别中还是嵌入在div中或者不会发生变化。
要做额外的过滤:
jQuery('table').filter( function() { ... } );
传入函数会将表元素映射this
元素,您需要返回true以将其保留在集合中,或者返回false以丢弃它。
$('table').each(function(){ $(this).find('tr :first')... });
如果您想查看每个表的第一行中的第一个单元格,您可以使用:
$("table tr:first td:first").each(function() { var html = this.innerHTML; /* Iterative logic here */ });
您应该尝试使用$('table tr:first td:first:containts("whatever")')
来获取具有特定内容的第一行的第一个单元格。