【发布时间】:2019-01-06 07:47:06
【问题描述】:
我正在尝试用一组不同的颜色替换我设置的所有颜色,现在我有它控制台。记录我的用户脚本加载的页面中元素的所有颜色,所以我知道它正在获取颜色正确,但由于某种原因它没有改变颜色!
帮助弄清楚如何更改颜色,而不必获取每个单独元素的类名并手动更改它,将不胜感激,谢谢!
(而且我知道我“连接到网站”是正确的,我开始手动更改元素颜色,然后才决定这会容易得多)
// ==UserScript==
// @name My Name Here
// @namespace http://tampermonkey.net/
// @version 1
// @description My Description
// @author iLordOfAviation
// @match Website I want to change
// @grant none
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
/' jshint -W097 '/
'use strict';
$(document).ready(function() {
var all = document.getElementsByTagName("*");
for (var i=0, max=all.length; i < max; i++) {
var element = all[i];
console.log($(element).css('color'));
if ($(element).css('color') === 'rgb(32, 50, 67)') {
$(element).css('color', 'rgb(33, 33, 33)')
} else {
if ($(element).css('color') === 'rgb(238, 244, 247)') {
$(element).css('color', 'rgb(250, 250, 250)')
} else {
if ($(element).css('color') === 'rgb(65, 99, 118)') {
$(element).css('color', 'rgb(211, 47, 47)')
} else {
if ($(element).css('color') === 'rgb(134, 189, 219)') {
$(element).css('color', 'rgb(211, 47, 47)')
}
}
}
}
}
});
rgb(32, 50, 67)
rgb(33, 33, 33)
rgb(88, 134, 160)
rgb(33, 33, 33)
rgb(65, 99, 118)
rgb(211, 47, 47)
rgb(255, 255, 255)
rgb(116, 153, 189)
rgb(33, 33, 33)
rgb(32, 50, 67)
rgb(33, 33, 33)
rgb(32, 50, 67)
^ 控制台示例,这只是几个,它正在打印成百上千个元素
【问题讨论】:
-
举一个确切控制台记录的例子 - 因为你的代码"should work™"
-
提示:为了避免那样讨厌的缩进,
} else { if ... {}}=>} else if { ...} -
@JaromandaX 我用一些输出示例更新了我的问题
-
显示一些你认为这应该适用的 HTML ... 看到这个simplified version so colors are obvious
-
这是一种非常痛苦、脆弱且占用大量 CPU 资源的尝试更改颜色的方法! 明智的做法是覆盖或创建 CSS 样式。 请参阅 stackoverflow.com/questions/19385698/…。
标签: javascript jquery userscripts tampermonkey