点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > HTML>详细内容

如何在IE6~8下创建HTML5新标签

添加时间:2013-12-6
    相关阅读: HTML

如何在在IE6~8下创建HTML5新标签,虽然document.createElement能创建HTML5的新标签,但动态创建尤其是元素时,还是用innerHTML比较适合。不过IE的innerHTML存在大量的问题,style,link ,script就需要特殊方法去生成。这种方法又将用于我们HTML5的新元素的创建!见下面例子:

示例一:

<!doctype html>
<html>
  <head>
    <title>动态创建HTML5元素</title>
  
<script>
 
      var div = document.createElement("div");
      div.innerHTML = "<section>section</section>";
      alert( div.innerHTML ); // "section</SECTION>" in IE6~IE8
          
    </script>
</head>
<body>
动态创建HTML5元素</body>
</html>

示例二:

<!doctype html>
<html>
  <head>
    <title>动态创建HTML5元素</title>
   
    <script>
 
      var div = document.createElement("div");
        div.innerHTML = "fixie<div>" +"<section>section</section>" +"</div>";
        alert(div.innerHTML );

        alert( div.lastChild.innerHTML );

           </script>
</head>
<body>
动态创建HTML5元素</body>
</html>

评论:把第二个示例的最后一个改成:
alert( div.lastChild.childNodes.length);
IE下的结果是3.
这三个节点分别是:
<section>
section
</section>
而不是outerHTML为"<section>section</section>"的一个节点。

初步总结:
1。在赋innerHTML时,IE会把左边的无效内容去掉,一直找到第一段有效的html开始。
2。对于IE不认识的标签,IE默认把它们都当作独立标签,而不进行标签配对。
所以div.innerHTML="a<ddddd>b</ddddd>"的结果是有四个child,而不是两个

本文作者:未知
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册