Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么document.styleSheets[0].href不';没有更新吗?_Javascript_Hyperlink_Stylesheet_Base Tag - Fatal编程技术网

Javascript 为什么document.styleSheets[0].href不';没有更新吗?

Javascript 为什么document.styleSheets[0].href不';没有更新吗?,javascript,hyperlink,stylesheet,base-tag,Javascript,Hyperlink,Stylesheet,Base Tag,当我动态创建标记时,为什么document.styleSheets[0].href不会更新,但document.getElementsByTagName('link')[0].href会更新 在Opera上,它可以正常工作,但Firefox和Chrome不会更新该值 这是代码,您可以在上面运行它 如果不在jsfiddle.net上运行它,则必须添加链接样式表() 我可以通过使用ownerNode属性(实际上是link元素,所以我可以得到与第一个警报相同的结果)来完成(在第三个警报中),但我不理解

当我动态创建
标记时,为什么
document.styleSheets[0].href
不会更新,但
document.getElementsByTagName('link')[0].href
会更新

在Opera上,它可以正常工作,但Firefox和Chrome不会更新该值

这是代码,您可以在上面运行它

如果不在jsfiddle.net上运行它,则必须添加链接样式表(

我可以通过使用ownerNode属性(实际上是link元素,所以我可以得到与第一个警报相同的结果)来完成(在第三个警报中),但我不理解为什么第二个警报不起作用

多谢各位

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);