querySelectorAll
の代わりに私が偶然にquerySelector
を使用したときに、面白いものが見つかりました。私は通常、静的ノードリストをクエリの直後の配列に変換します。しかしquerySelector
はNodeList
ではなく最初に一致するノードを返すので、私のスクリプトはselect
ノードを配列に変換しようとしました。空の配列を返す代わりに、select要素の子を返します。select要素を配列に変換すると、子要素の配列が返されるのはなぜですか?
select
要素を配列に変換すると、子ノードが返されるのはなぜですか?これはdiv
のような他の要素では動作しません:
var selectParent = document.querySelector('.selectParent');
var selectArray = Array.from(selectParent);
console.log(selectArray);
var divParent = document.querySelector('.divParent');
var divArray = Array.from(divParent);
console.log(divArray);
<select class="selectParent">
<option>Option 1</option>
<option>Option 2</option>
</select>
<div class="divParent">
<div>Div 1</div>
<div>Div 2</div>
</div>