0

cssクラスですべての要素を選択したい

.arrow-down

申し訳ありませんが、私の問題のために、私は単に正しい答えを見つけられません!

私はjavascriptコードを持っています:

document.getElementsByClassName("arrow-down")[0].style.borderTopColor=""+blu+"";

では、最初ではなく[すべて]を選択するにはどうすればよいですか、または[1; 2; 3;]を選択する方法はありますか?

getElementsByClassName("arrow-down")[all]

getElementsByClassName("arrow-down")[1;2...]

私は多くのことを試みましたが、単にそれを取得しないでください!

ドイツからのご挨拶!

4

2 に答える 2

2

返された結果のリストを反復処理する必要があります。

var elements = document.getElementsByClassName("arrow-down");

for (var i = 0, len = elements.length; i < len; i++){
  elements[i].style.borderTopColor = blu;
}

インデックスに基づいて特定のサブセットのみを実行する場合は、の値をチェックする条件を追加できますi。また、bluここにあなたがどこかで定義した変数があると思いますか?

for (var i = 0, len = elements.length; i < len; i++){
  if (i === 1 || i === 2 || i === 3){
    elements[i].style.borderTopColor = blu;
  }
}

残念ながら、JavaScriptには、配列値の特定のサブセットにアクセスしたり、一度に複数の要素に変更を適用したりするための省略形がありません。これは、jQueryが自動的に行うことです。たとえば、jQueryを使用すると、次のように記述できます。

$('.arrow-down').css('borderTopColor', blu);
于 2013-02-17T19:19:08.803 に答える
1

document.getElementsByClassName("arrow-down")そのような要素をすべて選択します。

これらはノードリスト(配列として扱うことができます)で返されます。そのため、[0]onを使用すると最初の要素が返されます。

式が返すさまざまな要素をループして、それらに作用します。

var elements = document.getElementsByClassName("arrow-down");
var elementsNum = elements.length)

for(var i = 0; i < elementsNum; i++)
{
  var anElement = elements[i];

  // do something with anElement
}
于 2013-02-17T19:18:15.507 に答える