Le code est le suivant :
<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. Si le script est placé dans l'élément head, lorsque le script est chargé, l'élément div n'a pas été chargé et "document.getElementById(...) est vide ou n'est pas un objet" apparaîtra.
2. Le code ci-dessus fonctionne normalement dans Chrome et le résultat de sortie est 5, mais dans IE, le résultat de sortie est 0.
3. Notez que vous n'avez pas besoin d'utiliser [] lors de la définition des données dans js, sinon une erreur se produira.