首页 > 解决方案 > 在数组输出中添加空格

问题描述

目标

我正在收集每个导航项的文本值并将其存储在一个变量中。然后我将该变量与一个设定值变量进行比较,这样我就可以对那些匹配的变量做一些事情。

问题

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

编码

$( ".item_text" ).each(function() {
    var text = $('.item_text').text() + " ";
    var comparingText = 'Shop'

    if(text == comparingText){
          $('.item_text').css('display','none');
    };

    // console.log(text);
});

我留在了 + " " 中,因为我认为它会完成此任务,但输出仍然混合在一起。

标签: jquery

解决方案


取而代之的是,用于.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"


推荐阅读