Select 所有元素都具有某种颜色?

Select all elements with a certain color?

是否有 select 或者可以 select 所有元素都具有特定颜色的方法?我想将所有带有 color: #1a0dab 的文本更改为 color:00b0f4

Javascript/jQuery 中没有这样的选择器。也许你可以: 1 - 更新 CSS 文件和 find/replace 所有实例 2 - 将 class 添加到所有必需的元素,然后使用 class 来定位它们。

如果样式是内联定义的,您可以这样做:

[style*="#1a0dab"] {
    color: #00b0f4 !important;
}

演示:

[style*="#1a0dab"] {
    color: #00b0f4 !important;
}
<p style="color: #1a0dab">paragraph 1</p>

<p>paragraph 2</p>

<p style="color: #1a0dab">paragraph 3</p>

如果原始样式不是内嵌定义的,则没有纯粹的 CSS 方法。

如果您有权访问 JavaScript,您可以执行类似以下的操作,但如果您的页面有很多元素或您需要经常 运行 该功能,性能可能会很差:

[...document.querySelectorAll('*')]
    .filter(el => getComputedStyle(el).color === 'rgb(26, 13, 171)')

请注意,您需要使用 RGB 表示而不是十六进制版本来检查相等性。

这是后一种方法的演示:

[...document.querySelectorAll('*')]
    .filter(el => getComputedStyle(el).color === 'rgb(26, 13, 171)')
    .forEach(el => el.style.color = '#00b0f4')
.has-color {
    color: #1a0dab;
}
<p class="has-color">paragraph 1</p>

<p>paragraph 2</p>

<p class="has-color">paragraph 3</p>

您应该列出所有需要更改颜色的标签,然后使用 jquery 给出唯一的颜色更改顺序