2

実行しているスクリプトがあり、最初のIDだけでなく、すべてのIDまたはクラスを選択するようにしたいです。

<script type = "text/Javascript" >
    function color(){
        var d=document.getElementsByClassName("black")[0];
        d.setAttribute("style", "background-color:#333;");
    }
</script>
4

2 に答える 2

1

querySelectorAll特定のIDを持つすべての要素を取得するには、次のように信頼できます。

var d = document.querySelectorAll("#temp");

いくつかのことを覚えておいてください:

  1. 構文的にではなくても、同じIDを持つ複数の要素を持つことは意味的に間違っています。
  2. querySelectorAllNodeListライブコレクションではなく、オブジェクトを返します。これは、IDが「temp」の別の要素を追加した場合、それは取得したコレクションに含まれず、querySelectorAllを再度呼び出す必要があることを意味します。
  3. querySelectorAllIE7および以前のバージョンではサポートされていません。

あなたはすでにに対する答えを持っていますgetElementsByClassName

于 2012-05-26T22:17:07.177 に答える
1
  1. [0]inは、それらを選択した後、document.getElementsByClassName("black")[0]実際には最初のものを除くすべてを破棄していることを意味しますによって返される値を反復処理する場合は、ループを使用しますgEBCN
  2. すべての要素document.getElementsByTagName('*')が必要な場合に使用します。

function color() {
    var allElements = document.getElementsByTagName('*');
    for (var i=0; i<allElements.length; i++) {
        allElements[i].setAttribute('style', 'background-color:#333;');
    }
}
于 2012-05-26T22:14:55.090 に答える