わかりました、それで私は静的で遊んでいました || 概念をテストしようとしているライブノードリスト、さまざまなシナリオを試しましたが、私の注意を引いた2つのシナリオがあります:
var toBeLogged = document.getElementsByTagName('p');
console.log(toBeLogged.length); // Returns 1 to the console
var newEl = document.createElement('p');
document.body.appendChild(newEl);
console.log(toBeLogged.length); // Returns 2 to the console
getElementsBy... はライブ ノード コレクションであるため、これは理にかなっています。そのため、更新後に再度値を要求すると、明らかに更新された値が返されます。
ただし、小さな変更を加えたシナリオ番号 2 では、「ライブ」ノードリストが静的として機能します。
var toBeLogged = document.getElementsByTagName('p').length;
console.log(toBeLogged); // Returns 1 to the console
var newEl = document.createElement('p');
document.body.appendChild(newEl);
console.log(toBeLogged); // Returns 1 also to the console
だから私の質問は:ライブノードリストの長さプロパティを表すために作成された変数が、プロパティを追加せずにノードリストを直接表す変数の値のようにライブ値を返さないのはなぜですか。
私はできる限り物事を正確に説明しようとしています。前もって感謝します。それに費やした時間を感謝します。