javascript - 即使在数组中找到元素,jQuery 也不会更改 CSS?

标签 javascript jquery css google-chrome-extension

如果这个问题不清楚,请提前致歉;我很新。

我正在开发一个 Chrome 扩展程序来更改 www.nytimes.com 上浏览量最大的标题的颜色。我的问题是我无法让 jQuery 可靠地覆盖页面上的 CSS。

我正在使用一个函数来搜索页面上的所有 anchor ,将这些 anchor 的文本与一组标题进行比较,如果文本与其中一个标题匹配,则修改 CSS。这是我拥有的:

$("a").each(function() {
    $this = $(this);
    if ($.inArray($this.text(), titles) !== -1) {
      console.log("found title");
      $this.css('color', color);
    }
  });

console.log 语句用于测试,它确实告诉我目前我在我的页面上找到了 8 个匹配项。但是,只有四个匹配项应用了 CSS 颜色。更改的四个标题都在页面的“电子邮件发送最多”部分。页面主体中的相应标题不会更改,即使标题的文本是相同的。

我错过了什么?

最佳答案

尝试工作DEMO在这里,

$this.css('color', 'red');

并使用 .trim() 进行精确的字符串比较,

$this.text().trim()

关于javascript - 即使在数组中找到元素,jQuery 也不会更改 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32420670/

相关文章:

javascript - 内容可编辑不工作

javascript - 使用 AJAX 更新 Div 结果丢失更新

javascript - Ng-show 没有正确过滤

html - 如何扩展下拉菜单以适应里面的列表项

html - 响应式设计 Div 间距

javascript - 如何为 node.js 服务器分配域名?

javascript - YouTube api 总是为不同的查询提供相同的视频

javascript - Angular 指令后链接顺序错误 (1.3)

Jquery ajax 不将参数传递给 Asp.Net Core MVC 中的 Controller 方法

javascript - 如何以编程方式使链接工作?