Javascript:几个JS问题

Javascript:几个JS问题,javascript,createelement,Javascript,Createelement,我正在学习这些东西并试图理解它,所以我用它来代替innerhtml 我的代码: <script> function load() { "use strict"; var t = document.createElement("table"), tb = document.createElement("tbody"), tr = document.createElement("tr"), td = document.createElement("td")

我正在学习这些东西并试图理解它,所以我用它来代替innerhtml

我的代码:

  <script>
function load() {
"use strict";

var t  = document.createElement("table"),
    tb = document.createElement("tbody"),
    tr = document.createElement("tr"),
    td = document.createElement("td");

    var b = document.createElement("b");
b.appendChild(document.createTextNode(" name!"));
td.appendChild(document.createTextNode("Hello"));
td.appendChild(b); 

    t.style.width = "100%";
    t.style.borderCollapse = 'collapse';
    t.border=1;

    // note the reverse order of adding child        
    tr.appendChild(td);
    tb.appendChild(tr);
    t.appendChild(tb);

   // more code to populate table rows and cells
   document.getElementById("theBlah").appendChild(t);
alert(t.innerHTML);
   }
</script>
 </head>

 <body  onload="load()">
即使我只是为t使用Var关键字,而不是为其他关键字,为什么即使启用了“use strict”也不抱怨呢?事实上,如果我在“tb”、“tr”、“td”前面加上一个“var”,它就会抛出一个错误。。。 谢谢!

1)innerHTML就是这样。它是
inner
。它不包含元素本身的HTML,而是包含该元素中的所有HTML。还有一个名为outerHTML的属性,但它不包含在Firefox中。获取outerHTML的唯一跨浏览器方法是将节点包装在新的父节点中,并获取该节点的内部除非您确定元素没有同级,否则您不能只获取当前父元素的innerHTML(您必须创建一个新的父元素),因为如果您这样做,同级元素将包括在内


2) 您正在使用逗号分隔变量装饰。这与使用分号并在每行上放置
var
是一样的。

InnerHtml速度更快,即使它不在规范中。它只是上面提到的内部html,而不是元素

使用一个Var和逗号分隔变量装饰是个好主意, 1.要减小文件大小,

2.在顶部声明所有变量。()

你所说的innerHTML是非常真实的,所以我切换了浏览器,在Chrome中它给了我内部和外部,而在FF中只有内部工作。不管怎样,我都得到了我的答案!祝你愉快!@Jumac,不客气:)如果这个答案对你有帮助,请点击计票下面的复选标记,接受它:)
var t  = document.createElement("table"),

 tb = document.createElement("tbody"),
 tr = document.createElement("tr"),
 td = document.createElement("td");