1

Google chrome を使用していますが、なぜこれが機能しないのかわかりません :(

// ==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';
4

3 に答える 3

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';
}

もちろん、この単純な操作には、おそらく JS の代わりに CSS を使用するでしょう。

リンクのみが必要な場合は、document.linksの代わりに使用できますgetElementsByTagName

于 2012-10-18T19:16:58.303 に答える
1

document.getElementsByTagNameNodeListを返します。次のようなことをする必要があります。

var anchors = document.getElementsByTagName('a'), i, j;
for (i=0, j=anchors.length; i<j; i++) {
    anchors[i].style.color = 'red';
}
于 2012-10-18T19:18:14.390 に答える
0

getElementsByTagName1つの要素だけでなく、 NodeListを返します。ループして、それぞれを編集する必要がありますstyle.color

于 2012-10-18T19:17:20.193 に答える