Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 通过匹配元素的“html()”内容来访问元素_Jquery_Html_Html Table_Children - Fatal编程技术网

Jquery 通过匹配元素的“html()”内容来访问元素

Jquery 通过匹配元素的“html()”内容来访问元素,jquery,html,html-table,children,Jquery,Html,Html Table,Children,我正在使用一个表窗体,它显示数据库表的行。 有一个id为0的唯一行不能删除,但我无法访问它。该id存储在td中,.html jQuery方法精确返回id 0。问题是每行中有许多其他tds具有相同的值。值唯一的一列是表中的第二列,我使用:nth-child2访问它。以下是表格结构: <table class="formTable"> <tr> <th width="26"><input id="chkAll" type="checkbox"

我正在使用一个表窗体,它显示数据库表的行。 有一个id为0的唯一行不能删除,但我无法访问它。该id存储在td中,.html jQuery方法精确返回id 0。问题是每行中有许多其他tds具有相同的值。值唯一的一列是表中的第二列,我使用:nth-child2访问它。以下是表格结构:

<table class="formTable">
  <tr>
    <th width="26"><input id="chkAll" type="checkbox"
                    onchange="chkSelectAll()"></th>
    <th width="48">Id</th>
    <th width="288">Description</th>
    <th>Type</th>
    <th>MaxTime<br>(min.)</th>
  </tr>
</table>

编辑:我已经得到了行号。现在我只需要检查td html是否等于0。

您可以在jQuery中使用高级选择器:
因此,您可以使用$'td:nth-child2'作为示例。

明白了。代码如下:

$('td:nth-child(2)').filter(function() { return $.text([this]) == '0' }).parent().children().eq(0).children().eq(0).attr('disabled', 'disabled');

这将每秒访问tr中的td,将选择限制为文本为0的td,获取其父级,访问包含复选框的chilren行以及此复选框本身,并禁用它。希望这对其他人有用。

您不能在第二行设置css类吗?请添加更多的代码。您正在请求td的第二个td子元素,但不要在html中显示任何td元素。@Raphaël Althaus行是通过从数据库加载来动态生成的。“我要查找的行并不总是显示在同一位置,因此我无法使用固定的索引到达它。”Michael_B我告诉过他。行是用javascript生成的,所以在开始时没有tds。你可以查看生成的html并分享,不是吗?是的,我刚到。现在我要知道哪个td的html值为0,比如if$'td:nth-child2'.html='0'怎么样?