タグを動的に作成すると、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 属性 (実際には link 要素であるため、最初のアラートと同じ結果を得ることができます) を使用して (3 番目のアラートで) 実行できましたが、2 番目のアラートが実行されない理由がわかりません。仕事。
ありがとうございました