我有一个看起来像这样的表:
<table>
<tr>
<td data-col="firstname">Robert</td>
<td data-col="middlename">E</td>
<td data-col="lastname">McIntosh</td>
<td data-col="email">example@gmail.com</td>
<td data-col="title" data-id="123456">Programmer</td>
</tr>
<tr>
<td data-col="firstname">John</td>
<td data-col="middlename">M</td>
<td data-col="lastname">Doe</td>
<td data-col="email">j.m.doe@gmail.com</td>
<td data-col="title" data-id="456789">IT Manager</td>
</tr>
<tr>
<td data-col="firstname">Sue</td>
<td data-col="middlename">L</td>
<td data-col="lastname">Merser</td>
<td data-col="email">s.l.merser@gmail.com</td>
<td data-col="title" data-id="789123">Hates Her Job</td>
</tr>
</table>
我想向所有title_hide
元素添加一个标记为td
的类,该元素不包含等于123456
的数据属性ID?
Javascript我正在尝试:
$('table tr td:not([data-id="123456"])').closest('tr').addClass('title_hide');
答案 0 :(得分:7)
使用:not()
选择器:
$('td:not([data-id="123456"])').addClass('title_hide');
更新:根据您的更新,您似乎正在尝试将类添加到<tr>
元素中,该元素内部没有<td data-id="123456">
。在这种情况下,您可以使用以下方法:
$('tr:not(:has(td[data-id="123456"]))').addClass('title_hide');
答案 1 :(得分:3)
你可以这样做:
$("table tr td:not([data-id=123456])").addClass("title_hide");
答案 2 :(得分:0)
不要尝试()
$("td:not('[data-col]')").addClass('title_hide');
答案 3 :(得分:0)
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('td').not('td[data-id="123456"]').addClass('title_hide');
});
</script>