Javascript jQuery中的精确文本匹配
我有以下代码:Javascript jQuery中的精确文本匹配,javascript,jquery,html,Javascript,Jquery,Html,我有以下代码: <div id="MetricsParentModelList"> <ul> <li class="cModel" style=""><a href="#">Hello</a></li> <li class="cModel" style=""><a href="#">Hello World</a></li> <li
<div id="MetricsParentModelList">
<ul>
<li class="cModel" style=""><a href="#">Hello</a></li>
<li class="cModel" style=""><a href="#">Hello World</a></li>
<li class="cModel" style=""><a href="#">Hello World 123</a></li>
</ul>
</div>
您可以使用jquery的函数。您的代码将更具可读性
var TextToCompare=“Hello World 123”;
$(“#MetricsParentModelList li a”)。每个(函数(){
if($(this).text()==TextToCompare){
$(this.parent().addClass('active');
}
});代码>
.active{背景色:#ccc;}
您很可能需要将JS封装在$(document).ready(function(){})
或$(()=>{})中作为速记
$(()=>{
$(“#MetricsParentModelList li a”).filter(函数(){
返回$(this).text().toLowerCase()==“hello”;
}).parent().addClass('active');
});代码>
.active{
背景色:#f00;
}
。。工作正常..除了缺少parent()的点信息外,文本周围是否有空格?尝试使用$(this).text().trim()
否没有空格@Barmar不为我工作..:(@NagaSaiAdid)你努力将文本编码为“你好”,你是否看到任何控制台错误?他为什么要这样做?每次你回答问题时,试着解释你在做什么,为什么OP(事实上,任何看到你答案的人)应该这样做请按照您的答案来做。@很抱歉,我会更新我的答案,并在其他答案中按照您的建议来做。谢谢您的理解,这样我们就保持了整洁和帮助。
$("#MetricsParentModelList li a").filter(function() {
return $(this).text() === TextToCompare;
}).parent().addClass('active');