zoukankan      html  css  js  c++  java
  • document.createElement方法的使用

    我们在使用createElemen方法t创建一个元素节点的时候,似乎在IE下面怎么写都可以,但切换到FF等其它浏览器却总是会报错。

      比如我们要创建一个input元素,那么在IE下,我们可以有多种写法:

    要测试某种情况,请将其它情况注释:

    <script type="text/javascript">
    //第一种,连同属性一起被创建
    var x = document.createElement("<input  type='text' size='30' />");
    //第二种,以空标签形式创建
    var x = document.createElement("<input  />");
    //第三种,以tagName形式创建
    var x = document.createElement("input ");

    document.body.appendChild(x);
    </script>

      以上3种方式在IE中均可以通行,然后再非IE核心的浏览器中(如FF,OP,SF等),前2种写法均会报错,无法正确创建这个input元素。

      标准写法为第3种,放之各浏览器而皆准。

      由于在IE中使用createElement方法创建元素节点时,该元素的属性可以一起被创建,但这在其它浏览器中是行不通的,所以我们还得通过其它的方式来创建其属性。

    创建一个带属性的元素节点的标准写法:

    <script type="text/javascript">
    var x = document.createElement("input");
    x.setAttribute("type","text");
    x.setAttribute("size","30");

    document.body.appendChild(x);
    </script>

      增加一个属性就document.setAttribute("attribute","value")一次。

      后来发现其实还可以这样来写:

    <script type="text/javascript">
    var x = document.createElement("input");
    x.type = "text";

    document.body.appendChild(x);
    </script>

      但使用这种来创建属性,好像并不是素所有的属性都能被创建,比如input的size,value,class等用这种方式就无法创建,至于具体原因我还不大清楚。所以推荐使用前面那种写法。

  • 相关阅读:
    Linux du命令
    log
    为什么基址不会变?
    游戏辅助分类
    什么是nProtect?
    Linux启动过程详解
    Restorator 2018 v3.90汉化注册版 含注册码汉化激活教程
    LoadLibrary(C:softIDA 7.0IDA 7.0pluginspython64.dll) error: 找不到指定的模块。 C:softIDA 7.0IDA 7.0pluginspython64.dll: can't load file LoadLibrary(C:softIDA 7.0IDA 7.0pluginspython64.dll) erro
    windows 安装python2.7
    ida 下载
  • 原文地址:https://www.cnblogs.com/dunken/p/4377431.html
Copyright © 2011-2022 走看看