Javascript:几个JS问题
我正在学习这些东西并试图理解它,所以我用它来代替innerhtml 我的代码: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")
<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");