我正在尝试向TD中添加一个不包含任何文本的类,以便我可以使用Jquery将它们全部删除。这是HTML:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="myjavascript.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="mycss.css">
</head>
<body>
<table class="counter">
<tr>
<th colspan="2">Goalkeepers</th><th colspan="2">Defenders</th>
<th colspan="2">Midfielders</th><th colspan="2">Forwards</th>
</tr>
<tr>
<td>1 Wojciech Szczesny<td>0</td></td>
<td>3 Bacary Sagna<td>0</td></td>
<td>7 Tomas Rosicky<td>0</td></td>
<td>9 Lukas Podolski<td>0</td></td>
</tr>
<tr>
<td>13 Emiliano Viviano<td>0</td></td>
<td>6 Laurent Koscielny<td>0</td></td>
<td>8 Mikel Arteta<td>0</td></td>
<td>12 Olivier Giroud<td>0</td></td>
</tr>
<tr>
<td>21 Lukasz Fabianski<td>0</td></td>
<td>4 Per Mertesacker<td>0</td></td>
<td>10 Jack Wilshere<td>0</td></td>
<td>14 Theo Walcott<td>0</td></td>
</tr>
<tr>
<td><td>0</td></td>
<td>5 Thomas Vermaelen<td>0</td></td>
<td>16 Aaron Ramsey<td>0</td></td>
<td>15 Alex Oxlade-Chamberlain<td>0</td></td>
</tr>
<tr>
<td><td>0</td></td>
<td>28 Kieran Gibbs<td>0</td></td>
<td>11 Mesut Ozil<td>0</td></td>
<td>22 Yaya Sanogo<td>0</td></td>
</tr>
<tr>
<td><td>0</td></td>
<td>17 Nacho Monreal<td>0</td></td>
<td>20 Mathieu Flamini<td>0</td></td>
<td>23 Nicklas Bendtner<td>0</td></td>
</tr>
<tr>
<td><td>0</td></td>
<td>25 Carl Jenkinson<td>0</td></td>
<td>24 Abou Diaby<td>0</td></td>
<td>31 Ryo Miyaichi<td>0</td></td>
</tr>
<tr>
<td><td>0</td></td>
<td><td>0</td></td>
<td>58 Gedion Zelalem<td>0</td></td>
<td>44 Serge Gnabry<td>0</td></td>
</tr>
<tr>
<td><td>0</td></td>
<td><td>0</td></td>
<td>29 Kim Kallstrom<td>0</td></td>
<td><td>0</td></td>
</tr>
<tr>
<td><td>0</td></td>
<td><td>0</td></td>
<td>19 Santi Cazorla<td>0</td></td>
<td><td>0</td></td>
</tr>
</table>
</body>
</html>
以下是将删除它们的Jquery:
$("tr td:contains('')").each(function(){
$(this).siblings('td.hideClass').css('visibility' , 'hidden');
});
我尝试过使用: $(tr td:contains('')“)。addClass(”hideClass“);
但那没用。任何帮助表示赞赏!
答案 0 :(得分:6)
我想你需要尝试
jQuery(function($){
$("tr td").filter(function () {
return $.trim($(this).text()) == ''
}).addClass('hideClass')
})
注意:在您的示例中,第一组td
未正确关闭 - <td><td>0</td></td>
应为<td></td><td>0</td>
答案 1 :(得分:4)
使用:
$("tr td").each(function(){
if($(this).html()===""){
//add class using $(this).addClass('classname');
}
});
答案 2 :(得分:4)
答案 3 :(得分:0)
你似乎真的想要隐藏所有包含'0'的TD,而不是所有空的TD。
如果你想隐藏所有空元素,@IonicăBizău的答案很好(使用empty();
)。
如果您正在寻找特定字符,您仍然可以使用包含,但您必须对后代非常具体。