目标
我正在收集每个导航项的文本值并将其存储在变量中。然后,我将该变量与设置值变量进行比较,以便可以对匹配的变量进行处理。
问题
当我运行控制台日志时,第一个变量将输出导航文本,但是它们都被粉碎在一起,因此查询永远不会与设置变量匹配。
代码
$( ".item_text" ).each(function() {
var text = $('.item_text').text() + " ";
var comparingText = 'Shop'
if(text == comparingText){
$('.item_text').css('display','none');
};
// console.log(text);
});
我已经留了+“”,因为这是我认为可以完成的事情,但是输出仍然模糊不清。
答案 0 :(得分:1)
相反,使用.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"
的所有元素。
答案 1 :(得分:1)
$( ".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();