1.<SCRIPT>
var d=document.createElement("DIV")
d.innerText="hello"
d.id="d";
d.position="absolute";
d.top="200"
//...
document.body.insertBefore(d);
</SCRIPT>
2.div和span都是层
3.this只当前对象
4.不是很了解

解决方案 »

  1.   

    给你一个例子:
    <SCRIPT>
    function fnCreate(){
        oData.innerHTML="";
        var oOption=oSel.options[oSel.selectedIndex];
        if(oOption.text.length>0){
    var aElement=document.createElement(oOption.text);
    eval("aElement." + oOption.value + "='" + oText.value + "'");
    if(oOption.text=="A"){
    aElement.href="javascript:alert('A link.')";
    oData2.appendChild(aElement);
    } else{
    oData.appendChild(aElement);
    }
    }
    }
    </SCRIPT>
    <SPAN ID="oData"></SPAN>
    <SELECT ID="oSel" onchange="fnCreate()">
    <OPTION VALUE="innerText">A
    <OPTION VALUE="value">&lt;INPUT TYPE="button"&gt;
    <INPUT TYPE="text" ID="oText" VALUE="Sample Text">
    <SPAN ID="oData2"></SPAN>
      

  2.   

    div和span都是提供一种“容器”,本身没有像a、table等的实际意义。
    两者运用当中很明显的区别之一是div会导致换行:
    <div>123</div><div>456</div><span>123</span><span>456</span>
      

  3.   

    1、dom是处理xml数据的,document.createElement("table"),在当前位置建立“<table/>”的xml元素;
    2、div和span都是js的宿主(IE或其他)的对象,也是一个元素,象<body><a><table>一样;
    3、this返回当前对象的引用;
    4、xml可以跨平台使用,但dom基本上不能,常用msxml(IE自带)的dom,即微软的,这个规范继承于w3g的dom规范,且对其作了许多扩展,在其他的平台上(操作系统)无法使用。
      

  4.   

    问题1:  document.createElement("table")只是创建了一个对象,如果要把它添加到document中,还需要另外的方法(appendChild、insertAdjacentElement、insertBefore)例子:<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title></title>
    </head><body>
    <table id="tab1" width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr><td>&nbsp;</td></tr>
    </table><script language="JavaScript">
      alert(document.documentElement.innerHTML)  //查看添加对象以前的源码
      oNewTable = document.createElement("table")
      
      //以下三种方法任选一种测试,注释掉其余两种
      document.body.appendChild(oNewTable)    //增加成为body的最后一个子元素
      document.body.insertBefore(oNewTable, tab1)  //增加成为body的子元素,位于tab1的前面
      tab1.insertAdjacentElement("beforeBegin", oNewTable)  //插入到tab1的前面(tab1是上面那表格对象的ID)
      //beforeBegin还可以换成"afterBegin", "beforeEnd" , "afterEnd"
      alert(document.documentElement.innerHTML) //查看添加对象以后的源码
      //更具体的用法请参考MSDN:http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/dhtml_reference_entry.asp
    </script>
    </body>
    </html>
    问题2:  DIV和SPAN不一定是层对象,只有在设置style.position = "absolute"时才是层对象,而其它很多对象(比如:IMG、TABLE)在设置了style.position = "absolute"时也可以是层对象,就是可以指定此对象的绝对位置(absolute),此时还可以设置style.left和style.top
      DIV和SPAN是没有特殊意义的,它一般用来作为其它对象的容器,用得最多的是作层对象例子:<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title></title>
    </head><body>
    <table width="100%" border="0" cellpadding="0" cellspacing="0" id="tab1" style="position:absolute; left:100; top:100; background-color: #F2E6FF;">
      <tr><td>这是一个用TABLE作的层</td></tr>
    </table><div style="position:absolute; left:50; top:50; background-color: #D2D2FF;">这是一个DIV作的层</div>
    </body>
    </html>
    问题3:
      this就是当前对象例子:<table width="100%" onClick="aa(this)">
      <tr><td>这是一个TABLE,点击试试</td></tr>
    </table>
    <script language="JavaScript">
      function aa(oElement){
        alert(oElement.outerHTML)   //oElement就是上面在onClick事件里传递过来的TABLE对象
      }
    </script>问题4:
      DOM,W3C(万维网联盟)组织定义了DOM,是可以跨平台的,后来微软在W3C DOM上扩展了很多功能,只能用于IE高版本上
    很辛苦地回答完了,有什么不明白的地方再讨论!