appendTo on IE
// не работает в IE6-8, но работает в FF 3.5.x, GH 3, S 3 $('<link />') .attr({type: 'text/css', href: jPopUp.C.CSS_FILE, rel: 'stylesheet', media: 'screen'}) .appendTo('head'); // работает корректно вроде бы везде $('head').append('<link type="text/css" rel="stylesheet" href="' + jPopUp.C.CSS_FILE + '" />'); что я делаю не так? |
дело в том, что в ie есть bug, при добавлении link с помощью innerHTML. Обходиться так:
el.innerHTML = 'text<link type="text/css" rel="stylesheet" href="...css">'; jQuery еще почему-то link в div оборачивает как добавить link с помощью createElement и атрибутов/свойств я не нашел prototype этот bug не исправляет, пробовал так $$('head')[0].insert('<link type="text/css" rel="stylesheet" href="40.css" />'); https://prototype.lighthouseapp.com/...-html-literals в mootools аналогично new Element('div').set('html', '<link type="text/css" rel="stylesheet" href="40.css" />').childNodes.length выдает 0 |
то есть баг не мой, а IE и в jQuery не досмотрели?
Вот кстати сегодня кто-то накатал статейку, в которой почти эта же проблема поднята: http://js-php.ru/web-development/jav...-create-in-ie/ |
если ты знаешь, как создать link с помощью createElement и атрибутов/свойств, чтобы он в ie заработал, значит в jQuery не досмотрели
|
В IE удобнее так:
head.insertAdjacentHTML("beforeEnd", 'text<link rel="stylesheet" type="text/css" href="…" />'); |
Часовой пояс GMT +3, время: 15:50. |