我在这里有点困惑。我试图做一些基本的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);
为什么,我缺少什么?
答案 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"));