指定されたインデックスの ul 内のすべての li を取得する方法
こんな感じで書きたいのですが
var afterUl=document.querySelectorAll('ul')[sy-1];
var afterLi=afterUl.querySelectorAll('li');
ただし以下行はエラー
leilei.html:128 Uncaught TypeError: 未定義のプロパティ 'querySelectorAll' を読み取れません。 。 。
どう書けばいいのか。 。初心者向けヘルプ
淡淡烟草味2017-07-05 10:50:04
----- 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 インターフェイス |
element.getElementsByTagName - Web API インターフェイス |
リーリー
过去多啦不再A梦2017-07-05 10:50:04
それを実装するには、ネイティブ JavaScript またはさまざまな JS ライブラリを使用することができます。
ここでは、ネイティブ JavaScript を使用してアイデアを整理し、ul の DOM 要素に id 属性を追加し、document.getElementById を通じて ul を削除し、次に getElementsByTagName を通じて li 要素を削除します。
コードは次のとおりです:
リーリー过去多啦不再A梦2017-07-05 10:50:04
let oLis = document.getElementsByTagName("ul")[index].getElementsByTagName("li");
为情所困2017-07-05 10:50:04
後続のインデックス [sy-1] の変数 sy は、すべての li がすべての ul よりもはるかに大きいため、数値を超えているため、自分でエラーを見つけました。上の行は未定義となり、下の行はエラーを報告します。
みなさん、ありがとうございました。 。この質問は幼稚すぎます。 。