用于过滤掉元素的jquery选择器
我有:
var rows = $table.find('tbody > tr').get();
这将选择所有行。 但是,并非所有表都明确定义了thead和tbody,因此我需要过滤掉任何包含.children(’th’)的行
编辑:我假设您想过滤掉具有
元素的行。 如果你想只得到那些行,那么就去掉:not()
部分。
这将为表中的
元素提供没有后代
元素。
var rows = $table.find('tr:not(:has(th))').get();
请注意,这也将考虑嵌套表。 如果将有带
标记的嵌套表,请尝试以下操作:
var rows = $table.find('tr:not(:has( > th))').get();
……应该将
标签的考虑限制在直接的孩子身上。
为什么不改为:
var rows = $table.find('tr > th').get();
编辑:
var rows = $table.find("tr:has(th)").get();