我正在尝试制作一个可以在Twitter对话中使用的greasemonkey用户文件
(为名称,用户名和每个@reply
着色。)
首先,我希望推文中的所有文字和@replies都具有相同的颜色(黑色)。
我遇到的问题是,在Twitter对话中通常@replies
不是黑色的(作为推文文本的其余部分 - 除了我不介意的网址),但还有其他颜色。
例如here,它们是灰色的。
我想将它们全部变为黑色。
使用Firefox的Inspector,我在页面源代码中注意到:
@
和reply
是分开的(第一个位于<s>
标记内,第二个位于<b>
标记内。 twitter-atreply pretty-link
。
所以,我试过这段代码:
var replies = document.getElementsByClassName('twitter-atreply pretty-link');
for (i = 0; i < replies.length; i++) {
replies[0].style.color = 'black';
}
但是,它不起作用(它也不会产生任何错误) 如何使其有效?
答案 0 :(得分:1)
问题在于,您正在更改包含您想要设置样式的元素的div样式,而不是自身元素。
目前,此页面使用'a.twitter-atreply.pretty-link'和元素作为包含要设置样式的文本的子项。所以你需要做的只是循环这些孩子,它应该工作。
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';
}
}