使用谷歌浏览器,我不知道为什么这不起作用:(
// ==UserScript==
// @name My Fancy New Userscript
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://*/*
// @copyright 2012+, You
// ==/UserScript==
document.getElementsByTagName('a').style.color='Red';
答案 0 :(得分:4)
因为它返回了一个“类似数组”元素集合,您需要单独操作。
document.getElementsByTagName('a')[0].style.color='red';
如果您预计会有多个匹配项,那么您将在循环中运行。
var aList = document.getElementsByTagName('a');
for (var i = 0, len = aList.length; i < len; i++) {
aList[i].style.color='red';
}
当然,对于这个简单的操作,你可能使用CSS而不是JS。
如果您只想要链接,可以使用document.links
代替getElementsByTagName
。
答案 1 :(得分:1)
document.getElementsByTagName
会返回NodeList。您必须执行以下操作:
var anchors = document.getElementsByTagName('a'), i, j;
for (i=0, j=anchors.length; i<j; i++) {
anchors[i].style.color = 'red';
}
答案 2 :(得分:0)
getElementsByTagName
会返回NodeList,而不只是一个元素。您需要遍历并编辑每个style.color
。