Javascript:几个 JS 问题

标签 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");

    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()">

问题是,onload()不显示<table>标签,它显示来自 <tbody>相反...知道为什么吗?

最后,在这段代码中:

var t  = document.createElement("table"),

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

即使我只对 t 使用 Var 关键字,而不对其他关键字使用 Var 关键字,为什么即使“use strict”打开,它也不提示?事实上,如果我在“tb,”tr”,“td”前面添加一个“var”然后它会抛出一个错误...... 谢谢!

最佳答案

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

2) 您使用逗号来分隔变量装饰。这与使用分号并在每行上放置 var 相同。

关于Javascript:几个 JS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868776/

相关文章:

javascript - 我可以使用 createElement 创建一个自闭合元素吗?

javascript - 如何读取多维JSON数组?

java - 为什么 Eclipse/JSP 会解析我的 JavaScript?

javascript - 为什么 tinyMCE 在 createElement 加载后没有启动?

javascript - 在 Javascript 中动态创建和附加制表符空间

php - 使用 PHP DOMDocument 将样式标签添加到头部

javascript - 动态地将类应用于无法执行单击事件的按钮

javascript - undefined reference - jQuery 选择器与 JavaScript 变量

javascript - Velocity js 翻译问题

javascript - 在 Javascript 中动态创建选项元素