좋아, 기본 document.getElementsByTagName 함수를 사용하려고하는데, 할 때마다 존재하지 않는 결과가 나타납니다. 즉, 정의되지 않은 nodeNames가있는 요소와 이와 같은 것들. 이로 인해 내 스크립트가 중단되고 나에게 문제가 발생합니다. 여기 (x 요소) 이상한 결과를위한 JavaScript
는 샘플입니다이 HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div></div>
<div></div>
<div></div>
</body>
</html>
이 스크립트
for(x in document.getElementsByTagName('div'))
alert(document.getElementsByTagName('div')[x].nodeName);
이
DIV
DIV
DIV
undefined
다음 스크립트가 종료 생성합니다. (에 대한 사용하는 경우
그냥 다른 세부 사항을 요구내가 문제를 찾을 수없는, 그리고 모든 브라우저에서이 같은 작품 ... ...
나는 당신이 말하고자하는 것을 이해하지만,'document.getElementsByTagName'는'Array'를 리턴하지 않는다는 것에주의하십시오. –
@iwburk 업데이트되었습니다. 감사합니다. –
'NodeList'는 배열과 같은 객체이므로, 원래의 명령문이 여전히 적용됩니다. 배열과 같은 객체에서'for..in'을 사용하면'length' 속성과 프로토 타입 체인에 정의 된 다른 모든 속성을 열거 할 수 있습니다. (현재 대답은 여전히 괜찮습니다. 첫 번째 비트를 분명히하고 싶습니다.) – gonchuki