javascript - 如何使用 .filter 返回多个值?

标签 javascript jquery

假设我有一个 div,带有一些 CSS 和 javascript:

var someCSS = {
  color: 'red',
};
         

$(".test > .sub").filter(function(index) {
   return $(this).text() == 'hello';
 }).css(someCSS);
.test {
  color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='test'>
  <div class='sub'>hello</div>
  <div class='sub'>stackoverflow</div>
</div>

上面的代码会将“hello”染成红色,但我不明白如何添加更多值,例如“hello”和“stackoverflow”。我显然不能做 return $(this).text() == 'hello' || 'stackoverflow';,但我不知道该怎么做!

任何建议将不胜感激:)

最佳答案

使用值数组然后检查它,这样,您可以根据需要添加更多值,然后您可以只使用 Array.prototype.indexOf .

var arr = ['hello', 'stackoverflow'];

然后

return arr.indexOf($(this).text()) > -1;

关于javascript - 如何使用 .filter 返回多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27722795/

相关文章:

javascript - 避免浏览器因 onclick 事件重置(原型(prototype))

javascript - D3 中折线图的转换

javascript - 用于有序列表的 html 中的自引用列表项

javascript - 使用 jQuery FormData.append 将值附加到 $_POST 数组

php - 使 JSON 数组 Flot 兼容

javascript - 使用 jQuery 更改元素文本和数据值?

javascript - Google Chrome 是否支持 body onunload() 函数?

javascript - 自动检测位置(城市和州),并将该信息分别放入输入和选择字段中

javascript - 使用一个导航选项卡实现控制多个选项卡内容

javascript - 在移动设备上强制使用键盘