2

タグを動的に作成すると、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 番目のアラートが実行されない理由がわかりません。仕事。

ありがとうございました

4

0 に答える 0