代码之家  ›  专栏  ›  技术社区  ›  Birdie Golden

向数组输出添加空间

  •  -1
  • Birdie Golden  · 技术社区  · 5 年前

    目标

    我正在收集每个导航项的文本值并将其存储在一个变量中。然后,我将该变量与一个设定值变量进行比较,以便对匹配的变量进行处理。

    问题

    第一个变量是在运行控制台日志时输出导航文本,但它们都被粉碎在一起,因此查询永远不会与设置的变量匹配。

    代码

    $( ".item_text" ).each(function() {
        var text = $('.item_text').text() + " ";
        var comparingText = 'Shop'
    
        if(text == comparingText){
              $('.item_text').css('display','none');
        };
    
        // console.log(text);
    });
    

    我把它留在了+“”中,因为我认为它可以实现这一点,但是输出仍然被弄脏了。

    2 回复  |  直到 5 年前
        1
  •  1
  •   Praveen Kumar Purushothaman Daniel Dewhurst    5 年前

    而不是那样,使用 .indexOf() 查找字符串中是否存在该部分,然后可以应用 hide() 关于:

    $(function () {
      var compareText = "Hello";
      $( ".item_text" ).filter(function () {
        return $(this).text().trim() === compareText;
      }).hide();
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="item_text">Hello</div>
    <div class="item_text">World</div>

    确保 .item_text 只有在必要的地方才有。这将以类的所有元素为目标 class="item_text" .

        2
  •  1
  •   Taplar    5 年前

    $( ".item_text" ).each(function() {
        //get the text for just the element being iterated over
        var text = $(this).text();
        var comparingText = 'Shop';
    
        if(text == comparingText){
          //same thing here
          $(this).hide();
        };
    });
    
    //however this could also be done with a filter
    
    $( '.item_text' ).filter(function(){
      return $(this).text() === 'Shop';
    }).hide();