我有一个包含3列(包括国家)的表。我有3个按钮,每个按钮代表一个国家。当我单击某个按钮(例如“Brazil”)时,它会突出显示包含巴西的所有行。但是,我希望它隐藏不包含巴西的所有其他行。当我单击任何其他国家时也是如此。
<table id="table">
<tr>
<th>league</th>
<th>level</th>
<th>country</th>
</tr>
</table>
$(document).ready(function() {
$("#Brazil").click(function() {
$("table tr td:nth-child(3):contains('Brazil')").parent().addClass("brazil");
});
<style>
.brazil {
background-color: yellow;
}
.argentina {
background-color: red;
}
.bolivia {
background-color: blue;
}
.peru {
background-color: green;
}
etc.
</style>
2条答案
按热度按时间6uxekuva1#
您可以使用jQuery
:not(:contains())
隐藏其余行。此外,如果使用
data-attributes
切换类名,我们可以定义一个适用于所有国家的onClick
函数。当用户选择一个按钮时,我们将
data-attribute
存储在一个变量中,然后使用该变量检查td是否包含文本,如果包含,我们将类名添加到元素中。然后,我们向剩余的元素添加另一个类名,这将隐藏所有其他元素。
mi7gmzs62#