1

我有以下代码:

<table id="myTable">
    <th>Date</th>
    <th>Action</th>
</table>

var $table = $('#myTable');

在我的 JS 中有一个条件,我会将表行 ( <tr>) 附加到该表,但我想编写一个函数来检查是否已添加任何内容。

所以我正在寻找一个布尔表达式,如果 $table 包含任何<tr>标签,则返回 true,否则返回 false。初步答案让我相信我需要使用 jQuery ':has' 选择器。

4

5 回答 5

4

您可以使用 :has() 选择器。您可以在括号内使用任何选择器。例如, :has(tr) 检查元素是否包含任何 tr 元素。

于 2009-12-09T16:17:14.060 回答
2

if (jQuery('table').find('tr').size() > 0) {
  // has element
}

于 2009-12-09T16:50:01.913 回答
1

您可以执行以下操作:

jQuery("table").find("certainTr").size > 1

使用 :has 选择器

我不是 100% 确定我理解了你的问题......如果我离开了,请告诉我

于 2009-12-09T16:18:26.647 回答
1
if ($('#myTable tr').length) {
//got some tr
}
于 2009-12-09T16:52:11.630 回答
1

如果您要做的只是在您的表包含任何行时返回 true,如果您的表不包含任何行则返回 false,那么您可以试试这个...

return ($("#myTable tr").length > 0);

如果您要在表中始终有一个标题行,您可能希望将上述脚本中的 0 更改为 1。

于 2009-12-09T16:54:02.470 回答