Почему document.styleSheets[0].href не обновляется?

Зачем 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 ответов

Другие вопросы по тегам