我有:
var rows = $table.find('tbody > tr').get();
这将选择所有行。但是,并非所有表都明确定义了thead和tbody,因此我需要过滤 out 任何包含.children('th')的行
答案 0 :(得分:10)
编辑:我假设您要过滤 out 包含<th>
元素的行。如果您想最终只使用 那些行,那么只需删除:not()
部分。
这将为表格中的<tr>
元素提供没有后代<th>
的内容。
var rows = $table.find('tr:not(:has(th))').get();
请注意,这也会考虑嵌套表。如果将有带<th>
标记的嵌套表,请尝试以下操作:
var rows = $table.find('tr:not(:has( > th))').get();
...这应该限制<th>
标签对直系儿童的考虑。
答案 1 :(得分:-1)
为什么不将其更改为:
var rows = $table.find('tr > th').get();
编辑:
var rows = $table.find("tr:has(th)").get();