为什么document.styleSheets [0] .href没有更新?

时间:2014-02-08 05:59:30

标签: javascript hyperlink stylesheet base-tag

当我动态创建document.styleSheets[0].href代码时,为什么document.getElementsByTagName('link')[0].href无法更新,<base/>会更新?

在Opera上工作正常,但Firefox和Chrome不会更新值。

以下是代码,您可以在http://jsfiddle.net/XcDCk/上运行。

如果你不在jsfiddle.net上运行它,你必须添加一个链接的样式表(<link rel="stylesheet" type="text/css" href="styles.css"/>

var base = document.createElement('base');
base.href = 'http://google.com/';
document.getElementsByTagName('head')[0].appendChild(base);

var link = document.getElementsByTagName('link')[0];
alert('Link: '+link.href);

var styleSheet = document.styleSheets[0];
alert('Stylesheet: '+styleSheet.href);

var hojaEstilos = document.styleSheets[0];
alert('Stylesheet + ownerNode: '+hojaEstilos.ownerNode.href);

我可以通过使用ownerNode属性(在第三个警报中)完成它(实际上是链接元素,因此我可以获得与第一个警报相同的结果),但我无法理解为什么第二个警报不起作用。

谢谢

0 个答案:

没有答案