我开始使用 JavaScript 和 DOM,试图故意远离 jQuery 等,至少有一段时间。考虑到这一点,教程通常会提供如下示例:
h = document.createElement("h1");
t = document.createTextNode("Hello.");
h.appendChild(t);
document.body.appendChild(h);
为了简化这一点并避免变量,我成功地链接了以下内容:
document.body.appendChild(document.createElement("h1")).appendChild(document.createTextNode("Hello."));
虽然这可行,但我尝试缩短以下前置操作:
h = document.createElement("h1");
t = document.createTextNode("Put this on top.");
h.appendChild(t);
document.body.insertBefore(h,document.body.firstChild);
具有以下内容:
document.body.insertBefore(document.createElement("h1")).appendChild(document.createTextNode("Put this on top."),document.body.firstChild);
但是这一次它没有按预期工作:文本被放置在 BODY 元素的最末端,获得了追加而不是前置。
我想成功的第一个案例只是侥幸,但我看不出这种连锁做法有什么问题。