JS:追加元素 - 如何链接方法?

时间:2013-11-27 17:36:25

标签: javascript dom append appendchild createelement

我在这里有点困惑。我试图做一些基本的DOM操作 - 通过在<head>标签后附加标题来测试它。这就是我写的:

document.head.appendChild(document.createElement("title").appendChild(document.createTextNode("Test Title")));

但是,上述方法无效。如果我把它分开,它就可以了:

var node = document.createElement("title");
var text = document.createTextNode("Test title");
node.appendChild(text);
document.head.appendChild(node);

为什么,我缺少什么?

2 个答案:

答案 0 :(得分:9)

方法链接可以解决上一个方法的返回值。

var chain = {
    example: function (val) {
        alert(val);
        return this;
    }
};
chain.example('this').example('works');

example可以与example链接,因为return this会返回一个具有example方法的对象。

如果是parent.appendChild(child),则返回值为child,这意味着链接不会进一步向parent添加元素,而是嵌套后续元素。

答案 1 :(得分:1)

附加title元素,然后将文本附加到追加对象。注意括号 -

警告 - title元素是一种特殊情况,文档中只有一个title元素有效

document.head.appendChild(document.createElement("title")).appendChild(document.createTextNode("Test Title"));