`
seavers
  • 浏览: 170021 次
  • 来自: ...
社区版块
存档分类
最新评论

insertBefore

阅读更多
insertBefore

经常看到这样的写法:
if (head.firstChild) {
	head.insertBefore(node, head.firstChild);
} else {
	head.appendChild(node);
}

其实可以改为:
head.insertBefore(node, head.firstChild);

  • insertBefore的第二参数为空时, 相当于appendChild
  • head.firstChild为空时, insertBefore等同于appendChild
  • jquery中的getScript时, 就是只有一句 insertBefore




另外:
  • IE6,IE7,IE8 下的head默认不是空的, 有一个文本空节点, head.childNodes.length === 1
  • IE9下面时, 如有<head></head>, 为1个文本节点, 内容为一个回车符
  • IE9下面时, 如没有head标签, 与chrome一致,  节点数为0
  • chrome时, <head></head>与没有head标签,均一致, 节点数为0


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics