如何循环查找元素中的特定文本?

时间:2018-03-07 04:58:39

标签: javascript jquery

我正在进行以下演示。为什么我无法在文本中找到并过滤div?



"paths": {
      "rxjs": [
        "./vendor/rxjs.ts"
      ]
    }

$(".list-group-item").each(function(){
       if($(this':contains("text")').contains("Map")){
          $(this).append(" - One");
       }
       if($(this':contains("text")').contains("Tap")){
          $(this).append(" - Two");
       }
});




4 个答案:

答案 0 :(得分:1)

您的语法$(this':contains("text")'不正确,请尝试使用is,例如:

$(".list-group-item").each(function(){
    if($(this).is(':contains("Map")')) {
        $(this).append(" - One");
    }
    if($(this).is(':contains("Tap")')) {
        $(this).append(" - Two");
    }
});

答案 1 :(得分:0)

尝试将其更改为

 $(".list-group-item").each(function(){
       if($(this).text() == "Map"){
          $(this).append(" - One");
       }
       if($(this).text() == "Tap"){
          $(this).append(" - Two");
       }
});

答案 2 :(得分:0)

您不需要使用$.each()循环播放。您可以直接选择和追加。例如:



$('.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>
&#13;
&#13;
&#13;

答案 3 :(得分:-1)

你可能错过了this:contains

之间的concat(+)
$(".list-group-item").each(function(){
       if($(this + ':contains("text")').contains("Map")){
          $(this).append(" - One");
       }
       if($(this + ':contains("text")').contains("Tap")){
          $(this).append(" - Two");
       }
});