2016-06-28 4 views
0

私はdocument.getElementsByClassNameから返さ[オブジェクトHTMLCollection]の違いは何であるか疑問に思って[オブジェクトHTMLDivElement]をい[オブジェクトHTMLCollection]は、「より広い」DOMスキャンを実行していて、存在する場合は要素のコレクションを返しますか?それはなぜ要素ではなくHTMLのコレクションを返すのですか?返された[オブジェクトHTMLCollection]の違いと、[オブジェクトHTMLDivElement]

ReactDOM.renderは、返された[オブジェクトHTMLCollection]を2番目のパラメータとして使用できないため、この質問に気付きました。

乾杯。

+0

ちょうど 'のgetElementsByClassName()'関数の名前を見て、単一の要素を返します。その要素について話している** ** sは、複数を。 – nnnnnn

+0

'getElementsByClassName' - 注意事項* element's' *、これがCollectionを取得する理由です。 'document.querySelectorAll'でもCollecitonを返します。 –

答えて

3

HTMLCollectionは、要素のグループです。 0以上の要素を含むことがあります。

HTMLDivElementは、各グループを返しますので、


document.getElementsByClassName('x')がよりdocument.querySelectorAll('.x')のようである単一の要素です。

document.querySelector

+2

' HTMLCollection'は単一の要素を含んでも、要素を含んでいなくても構いません( "group"の定義を歪める可能性があります)。単一のアイテムではなくリストです – nnnnnn

+0

それは指摘する価値がある、ええ。メモをありがとう。 – naomik

関連する問題