[英]How to loop to find specific text in elements?
I am working on the following demo.我正在研究以下演示。 Why am I not able to find and filter divs bases on their text?
为什么我无法根据文本查找和过滤 div?
$(".list-group-item").each(function(){ if($(this':contains("text")').contains("Map")){ $(this).append(" - One"); } if($(this':contains("text")').contains("Tap")){ $(this).append(" - Two"); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul class="list-group"> <li class="list-group-item">Map</li> <li class="list-group-item">App</li> <li class="list-group-item">Tap</li> <li class="list-group-item">Map</li> <li class="list-group-item">Wap</li> </ul>
you may missed concat(+) between this
:contains 您可能在
this
之间错过了concat(+):包含
$(".list-group-item").each(function(){
if($(this + ':contains("text")').contains("Map")){
$(this).append(" - One");
}
if($(this + ':contains("text")').contains("Tap")){
$(this).append(" - Two");
}
});
try changing it as below 尝试如下更改
$(".list-group-item").each(function(){
if($(this).text() == "Map"){
$(this).append(" - One");
}
if($(this).text() == "Tap"){
$(this).append(" - Two");
}
});
You don't need to loop using $.each()
. 您不需要使用
$.each()
进行循环。 You can directly select and append. 您可以直接选择并附加。 Eg:
例如:
$('.list-group-item:contains("Map")').append(" - One"); $('.list-group-item:contains("Tap")').append(" - Two");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul class="list-group"> <li class="list-group-item">Map</li> <li class="list-group-item">App</li> <li class="list-group-item">Tap</li> <li class="list-group-item">Map</li> <li class="list-group-item">Wap</li> </ul>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.