首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如果文本与字符串匹配并且文本与字符串不匹配

如果文本与字符串匹配并且文本与字符串不匹配
EN

Stack Overflow用户
提问于 2019-05-10 02:54:05
回答 1查看 59关注 0票数 -1

我在列表中有“一些文本”,如果匹配,那么我会在.input-1下拉菜单中显示选择选项,但我不能工作的是与字符串不匹配的相反情况。在这种情况下,我想隐藏select选项。

代码的第一部分可以工作,但第二部分失败

代码语言:javascript
复制
jQuery(document).ready( function() {
$('.input-1 option').each(function() {
var ourOption = $(this).text().toLowerCase(); // convert text to Lowercase
var str = "Some Text";
var res = str.toLowerCase();
if (ourOption.match(res)) {
$(this).css('display', 'block');
}
else if (!ourOption.match(res)) {
$(this).css('display', 'none');
}   
})
});

当前的结果是,无论匹配的文本是什么,所有选项都被隐藏,所以我猜我的else if中有一个错误,或者没有匹配的语法是不正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-10 03:02:20

.match()用于查找字符串中的匹配项,而不是进行比较并返回true/false。您需要在此处使用比较==:

代码语言:javascript
复制
jQuery(document).ready( function() {
 $('.input-1 option').each(function() {
  var ourOption = $(this).text().toLowerCase(); // convert text to Lowercase
  var str = "Some Text";
  var res = str.toLowerCase();
  if (ourOption.indexOf(res) > -1) {
    $(this).css('display', 'block');
  }
  else {
    $(this).css('display', 'none');
  }   
 })
});

事实上,你甚至不需要一个else -如果在这里,只要else就足够了……因为只有两种可能性true和false,并且都用if/else覆盖。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56065893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档