我尝试使用jQuery将td
包含文本0
时消失。我试过了,但是没用:
$(".detail-parameters tr:contains('0')").css("display", "none");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="detail-parameters">
<tbody>
<tr>
<th>some text</th>
<td>0</td>
</tr>
<tr>
<th>some text</th>
<td>1</td>
</tr>
</tbody>
</table>
任何想法为何?
答案 0 :(得分:2)
您的代码可以工作,但是如果td
的文本中包含01
或10
,则代码会将其隐藏起来是不正确的。因此,您应该检查.filter()
中元素的文本,而不要使用:contain()
$(".detail-parameters tr").filter(function(){
return $(this).find("td").text() == 0;
}).css("display", "none");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="detail-parameters">
<tbody>
<tr>
<th>some text</th>
<td>0</td>
</tr>
<tr>
<th>some text</th>
<td>1</td>
</tr>
<tr>
<th>some text</th>
<td>01</td>
</tr>
</tbody>
</table>
答案 1 :(得分:0)
您正在使用tr而不是td尝试
$(document).ready(function(){
$(".detail-parameters td:contains('0')").css("display", "none");
});
但是您的代码也会隐藏10或01。