document.getElementsByTagName();을 사용하여 검색 한 요소를 반복하는 방법; 길이가 0으로 나오지만 여전히 요소가 있기 때문입니다.getElementsByTagName 사용시 빈 배열
가<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HKPlayer Demo</title>
<script src="dist/HKPlayer.js" type="text/javascript"></script>
</head>
<body>
<HKPlayer type="video" theme="dark" src="assets/video/1.mp4"></HKPlayer>
<br/>
<HKPlayer type="video" theme="dark" src="assets/video/2.mp4"></HKPlayer>
</body>
</html>
출력은 다음과 같다 :
아래class HKPlayer
{
constructor()
{
this.getPlayers();
this.getPlayerAttributes();
}
getPlayers()
{
this.players = document.getElementsByTagName("HKPlayer");
}
getPlayerAttributes()
{
console.log(this.players);
}
}
(function() {
new HKPlayer();
})();
HTML 코드이다 : 다음
는 JS 코드
this.players
배열로 this.players 배열 비어 있습니다 루프 수 없습니다. 어떻게해야합니까?
DOM이 실행 시점에로드 되었습니까? 그렇지 않다면 [jQuery 나 getElementById와 같은 DOM 메소드가 요소를 찾지 못하는 이유는 무엇입니까?] (https://stackoverflow.com/q/14028959/4642212); 그렇지 않으면 [Chrome의 JavaScript 콘솔이 배열 평가에 지장이 있습니까?] (https://stackoverflow.com/q/4057440/4642212). – Xufox