지정된 인덱스에서 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() - 웹 API
----- 06-03 04:30 -----
leilei.html:128 잡히지 않은 TypeError: 정의되지 않은 'querySelectorAll' 속성을 읽을 수 없습니다
오류 메시지는
querySelectorAll
속성이 정의되지 않았기 때문에 읽을 수 없다는 것을 이미 상기시켰습니다그 이유는
으아악querySelectorAll
是document
的方法,而不是element
는element
의 메소드가 아닌document
의 메소드이기 때문입니다.해결책은
을 사용하는 것입니다. 으아악getElementsByTagName
JavaScript 문서에서 이 두 API에 대한 소개를 참조할 수 있습니다
Document.querySelectorAll - 웹 API 인터페이스 MDN
또는 jQuery를 사용하세요element.getElementsByTagName - 웹 API 인터페이스 |
으아악
구현하는 방법에는 여러 가지가 있습니다. 기본 JavaScript 또는 다양한 js 라이브러리를 사용하여 구현할 수 있습니다.
여기에서는 기본 JavaScript를 사용하여 아이디어를 구성하고, ul의 DOM 요소에 id 속성을 추가하고, document.getElementById를 통해 ul을 제거한 다음, getElementsByTagName을 통해 li 요소를 제거합니다.
코드는 다음과 같습니다.
으아악let oLis = document.getElementsByTagName("ul")[index].getElementsByTagName("li");
모든 li가 모든 ul보다 훨씬 많기 때문에 후속 인덱스 [sy-1]의 변수 sy가 할당되었기 때문에 오류를 직접 발견했습니다. 위쪽 줄은 정의되지 않고 아래쪽 줄은 오류를 보고합니다.
모두들 감사합니다. . 이 질문은 너무 유치해요. .