코드는 다음과 같습니다.
<meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <div id="content"></div> <script> var el = document.createElement("div"); el.innerHTML = ' <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>titleValue</title> <meta name="description" content="It is a good way to learn science." /> <meta name="keywords" content="Symfony2,Redis,PHP" /> <meta name="author" content="CSDN.NET" /> <meta name="Copyright" content="CSDN.NET" /> </head> <body> hello</body> </html>'; var descElements = el.getElementsByTagName("head"); document.getElementById("content").innerHTML = descElements.length; </script> </body> </html>
1. 스크립트가 head 요소에 배치된 경우 스크립트를 로드하면 div 요소가 로드되지 않고 "document.getElementById(...)가 비어 있거나 개체가 아닙니다."라는 메시지가 나타납니다.
2. 위 코드는 크롬에서는 정상적으로 동작하며, 출력결과는 5인데, IE에서는 출력결과가 0입니다.
3. js에서 데이터를 정의할 때 []를 사용할 필요는 없습니다. 그렇지 않으면 오류가 발생합니다.