这是html5shiv中的拼写错误吗?

时间:2014-07-23 08:47:24

标签: javascript

我刚刚看到html5shiv并找到了这段代码:

function addStyleSheet(ownerDocument, cssText) {
    var p = ownerDocument.createElement('p'),
        parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;

    p.innerHTML = 'x<style>' + cssText + '</style>';
    return parent.insertBefore(p.lastChild, parent.firstChild);
  }

使用p.innerHTML = 'x<style>' + cssText + '</style>';的地方。为什么在这里使用 x

1 个答案:

答案 0 :(得分:3)

不,这不是一个错字。

根据question about x aFarkas 已回答

  

这是因为旧IE的非标准概念。类似于&#34;的概念有布局&#34;在CSS中,他们使用scoped和非cococoped元素的概念来使用innerHTML进行渲染。

aFarkas指向两篇文章

问题

  

当IE将HTML字符串转换为DOM结构时,它会以不同于任何其他标记的方式处理SCRIPT和STYLE。当它命中一个时,它会检查它前面是否有任何“可见”的节点。(可见非常松散意味着在渲染结构时将显示的节点。)如果在命中之前没有任何可见节点SCRIPT或STYLE,它只是将它们扔掉并继续处理。