指定されたインデックスの ul 内のすべての li を取得する方法
こんな感じで書きたいのですが
var afterUl=document.querySelectorAll('ul')[sy-1];
var afterLi=afterUl.querySelectorAll('li');
ただし以下行はエラー
leilei.html:128 Uncaught TypeError: 未定義のプロパティ 'querySelectorAll' を読み取れません。 。 。
どう書けばいいのか。 。初心者向けヘルプ
----- 06-03 14:50 -----
間違いを指摘してくれたjasonintjuに感謝します。
ここで報告されるエラーは、
querySelectorAll
方法,是由于题主的 下标 越界了,导致取到的 是undefined
,undefined
没有querySelectorAll
メソッドがないためではありません。下付き文字の書き方は問題ありません。
補足ドキュメント
Element.querySelectorAll() - Web API
----- 06-03 04:30 -----
leilei.html:128 Uncaught TypeError: 未定義のプロパティ 'querySelectorAll' を読み取れません
エラーメッセージは、
querySelectorAll
属性が未定義であるため読み取れないことをすでに通知していますその理由は、
リーリーquerySelectorAll
是document
的方法,而不是element
がelement
のメソッドではなく、document
のメソッドであるためです。解決策は
を使用することです リーリーgetElementsByTagName
これら 2 つの API の紹介については、JavaScript ドキュメントを参照してください
Document.querySelectorAll - Web API インターフェイス |
またはjQueryを使用してくださいelement.getElementsByTagName - Web API インターフェイス |
リーリー
それを実装するには、ネイティブ JavaScript またはさまざまな JS ライブラリを使用することができます。
ここでは、ネイティブ JavaScript を使用してアイデアを整理し、ul の DOM 要素に id 属性を追加し、document.getElementById を通じて ul を削除し、次に getElementsByTagName を通じて li 要素を削除します。
コードは次のとおりです:
リーリーlet oLis = document.getElementsByTagName("ul")[index].getElementsByTagName("li");
後続のインデックス [sy-1] の変数 sy は、すべての li がすべての ul よりもはるかに大きいため、数値を超えているため、自分でエラーを見つけました。上の行は未定義となり、下の行はエラーを報告します。
みなさん、ありがとうございました。 。この質問は幼稚すぎます。 。