我有以下代码
<div id="MetricsParentModelList">
<ul>
<li style=""><a href="#">Hello</a></li>
<li style="display:none"><a href="#">Hello world</a></li>
<li style="display:none"><a href="#">Hello world 123</a></li>
</ul>
</div>
我想把类“active”添加到显示不是none的li中。我还必须比较锚标记文本。
我的代码是:
$("#MetricsParentModelList li a").filter(function() {
return ($(this).text().trim() === TextToCompare && $(this).parent().display != 'none')
}).parent().addClass('active');
最佳答案
您可以首先使用:visible
选择器选择可见的li,然后使用TextToCompare
筛选锚并将类附加到它们,如:
var TextToCompare = 'Hello';
$("#MetricsParentModelList li:visible").filter(function() {
return $('a', this).text().trim() === TextToCompare;
}).addClass('active');
.active {
background-color: lime;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="MetricsParentModelList">
<ul>
<li style=""><a href="#">Hello</a></li>
<li style="display:none"><a href="#">Hello world</a></li>
<li style="display:none"><a href="#">Hello world 123</a></li>
</ul>
</div>
关于javascript - jQuery过滤器方法中的多个条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52609583/