簡體   English   中英

獲取所有不包含數據屬性的元素

[英]Get all elements that does not contain data attribute

我有一個看起來像這樣的表:

<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>

我想向所有不包含等於123456的數據屬性id的td元素添加一個標記為title_hide的類。

我正在嘗試的Javascript:

$('table tr td:not([data-id="123456"])').closest('tr').addClass('title_hide');

使用:not()選擇器:

$('td:not([data-id="123456"])').addClass('title_hide');

更新:根據您的更新,您似乎正在嘗試將類添加到<tr>元素中,該元素內部沒有<td data-id="123456"> 在這種情況下,您可以使用以下方法:

$('tr:not(:has(td[data-id="123456"]))').addClass('title_hide');

演示: http : //jsfiddle.net/RFwJg/

你可以做:

$("table tr td:not([data-id=123456])").addClass("title_hide");

嘗試不()

 $("td:not('[data-col]')").addClass('title_hide');
<script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery('td').not('td[data-id="123456"]').addClass('title_hide');
    });
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM