我有一个表,#thetable
其中包含数据库中的行。在表格上方我有一个button
'柴油',当点击隐藏或显示数据属性为柴油的行时,所以每行都有一个data-attribute
,即diesel
或petrol
。但是,当我点击它的行不会消失。jQuery通过数据属性隐藏显示表中的行
帮助将不胜感激。
function clickDiesel() {
$("tr[data-fuel=diesel]").css('visibility', 'hidden');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button" class="btn btn-default" style="margin-right: 1em" onclick="clickDiesel()">
diesel
<span style="color: Green">
<i class="fa fa-check"></i>
</span>
</button>
<table id="thetable">
<tr data-fuel="diesel">
<td>diesel</td>
</tr>
<tr data-fuel="petrol">
<td>petrol</td>
</tr>
</table>
我把你的代码放在一个可运行的代码片段中,它看起来工作正常。你能否在你的代码的其他地方查看控制台的错误。另外 - 表格中的数据是在页面本身加载后添加到页面中的?例如通过AJAX。另外,另外,我建议删除过时的'on *'事件属性,并通过不显眼的JS来附加事件处理程序。 –
尝试使用'.hide()'而不是改变可见性。隐藏的可见性在渲染时仍占用相同的空间,这可能导致“不要消失”的问题。 –
伟大的工程完美,我确实使用.hide()。 – Jim