1

Javascript を使用して、ページ内のすべてのリンクのスタイルを変更しようとしています。

私はこれらの両方を試しましたが、成功しませんでした:

document.links.style.cursor = "wait";
document.getElementsByTagName(a).style.cursor = "wait";

私は何を間違っていますか?

4

3 に答える 3

5
var allLinks = document.links || document.getElementsByTagName('a');
for(var n=0;n<allLinks ;n++)
    document.allLinks [n].style.cursor = "wait";

document.links要素の配列なので、 にdocument.links.style.cursor = "wait"等しくなり[link1,link2].links.style.cursor = "wait"ます。
そして約document.getElementsByTagName(a):構文が間違っています。引用符を忘れました。正しいのはdocument.getElementsByTagName("a")

于 2012-05-26T12:46:34.397 に答える
2
var style = document.createElement("style");
document.head.appendChild(style);
try {
  style.innerHTML = "a { cursor: wait; }";
}
catch (_ie) {
  style.styleSheet.cssText = "a { cursor: wait; }";
}

もちろん、別の方法として、リンクを変更する必要がある場合に備えて事前に計画し、次のような静的スタイル シートを事前に読み込むこともできます。

.wait-links a { cursor: wait; }

次に、クラス「wait-links」を<body>(または任意のコンテナーに)追加すると、<a>すべてのタグが影響を受けます。これは、個々のスタイルを変更する要素を繰り返し処理するよりもはるかに効率的ですが (おそらく)、リンクがあまりない場合は問題になりません。

そのようなものにスタイルシートを使用することは、私の意見では、はるかに優れた方法です。この場合、実際には、クラスを「待機リンク」と呼ぶのではなく、実際に何が起こっているかを説明する単語または単語を使用する方がよいでしょう。次に、JavaScript コードがクラスを追加 (または削除) して状況を確立し、スタイル シートが外観の変更を制御します。場合によっては、リンクの色を変更したり非表示にしたりする必要があると判断した場合は、スタイルの変更を探してスクリプトを探し回る必要なく、それを行うことができます。

于 2012-05-26T12:51:59.933 に答える