我有这个jQuery代码
console.log($('#tr-' + notificationInstanceId));
返回
n.fn.init [a#tr-fg, context: document, selector: "#tr-fg"]
它告诉您选择有效。
现在,我想更新该行的第六列-所以我做了
$('#tr-' + notificationInstanceId).find('td').eq(6).hide;
$('#tr-' + notificationInstanceId).find('td:eq(1)').eq(6).hide;
似乎没有任何作用。我做错了什么?
<tbody>
<tr>
<td>1</td>
<td>
<a href="/a/OS/iii/1?instanceId=OS&ip=1.1.1.1&port=8008&h=509A4CDB9AB2&nae=OS&nodeName=B-Z" id="tr-OS">
OS
</a>
</td>
<td>2</td>
<td>
8.4 GB
</td>
<td> NA </td>
<td class="state-OS">running</td>
<td>
</td>
</tr>
<tr>
<td>2</td>
<td>
<a href="/a/bu-uu/iii/1?instanceId=bu-uu&ip=1.1.1.1&port=8008&h=509A4CDB9AB2&nae=bu-uu&nodeName=B-Z" id="tr-bu-uu">
bu-uu
</a>
</td>
<td>0</td>
<td>
0.0 GB
</td>
<td> NA </td>
<td class="state-bu-uu">not instantiated</td>
<td>
</td>
</tr>
<tr>
<td>3</td>
<td>
<a href="/a/fg/iii/1?instanceId=fg&ip=1.1.1.1&port=8008&h=509A4CDB9AB2&nae=fg&nodeName=B-Z" id="tr-fg">
fg
</a>
</td>
<td>0</td>
<td>
0.0 GB
</td>
<td> NA </td>
<td class="state-fg">not instantiated</td>
<td>
</td>
</tr>
</tbody>
答案 0 :(得分:2)
.find()
用于查找元素的后代。该表的第六列不是#tr-fortiGate
的后代。您需要转到包含<tr>
的位置,然后找到所需的孩子。
使用类选择器比硬编码列号IMHO好一点。它使您可以重新排列列,而不必更新代码。
$("#tr-" + notificationIsntanceId).closest("tr").children("td[class^=state-]")