如何使用 Javascript 为 Twitter 对话中的所有@replies 着色?
How to colorize all @replies in a Twitter conversation using Javascript?
我正在尝试制作一个可以在 Twitter 对话中使用的 greasemonkey 用户脚本
(给名字、用户名和每个第一个 @reply
上色)。
首先,我希望推文中的所有文本和@replies 都具有相同的颜色(黑色)。
我遇到的问题是,通常 @replies
在 Twitter 对话中不是黑色的(因为其余的推文文本 - 除了我不介意的 URL -)但有一些其他颜色。
例如 here 它们是灰色的。
我要把它们都变成黑色
使用 Firefox 的检查器,我在页面源代码中注意到:
-
@
和 reply
是分开的(第一个在 <s>
标签内,而第二个在 <b>
标签内)。
- 他们都属于同一个class。我认为是
twitter-atreply pretty-link
.
所以,我试过这段代码:
var replies = document.getElementsByClassName('twitter-atreply pretty-link');
for (i = 0; i < replies.length; i++) {
replies[0].style.color = 'black';
}
但是,它不起作用(它不会产生任何错误,也不会)。
我怎样才能让它发挥作用?
问题是您正在更改 div 的样式,其中 包含 您尝试设置样式的元素,而不是元素 他们自己.
目前此页面使用 'a.twitter-atreply.pretty-link' 和元素 children 包含您要设置样式的文本。所以你需要做的就是遍历这些 children,它应该可以工作。
var replies = document.getElementsByClassName('twitter-atreply pretty-link');
for (i = 0; i < replies.length; i++) {
var children = replies[i].children;
for (j = 0; j < children.length; j++) {
children[j].style.color = 'black';
}
}
我正在尝试制作一个可以在 Twitter 对话中使用的 greasemonkey 用户脚本
(给名字、用户名和每个第一个 @reply
上色)。
首先,我希望推文中的所有文本和@replies 都具有相同的颜色(黑色)。
我遇到的问题是,通常 @replies
在 Twitter 对话中不是黑色的(因为其余的推文文本 - 除了我不介意的 URL -)但有一些其他颜色。
例如 here 它们是灰色的。
我要把它们都变成黑色
使用 Firefox 的检查器,我在页面源代码中注意到:
-
@
和reply
是分开的(第一个在<s>
标签内,而第二个在<b>
标签内)。 - 他们都属于同一个class。我认为是
twitter-atreply pretty-link
.
所以,我试过这段代码:
var replies = document.getElementsByClassName('twitter-atreply pretty-link');
for (i = 0; i < replies.length; i++) {
replies[0].style.color = 'black';
}
但是,它不起作用(它不会产生任何错误,也不会)。
我怎样才能让它发挥作用?
问题是您正在更改 div 的样式,其中 包含 您尝试设置样式的元素,而不是元素 他们自己.
目前此页面使用 'a.twitter-atreply.pretty-link' 和元素 children 包含您要设置样式的文本。所以你需要做的就是遍历这些 children,它应该可以工作。
var replies = document.getElementsByClassName('twitter-atreply pretty-link');
for (i = 0; i < replies.length; i++) {
var children = replies[i].children;
for (j = 0; j < children.length; j++) {
children[j].style.color = 'black';
}
}