Ответ 1
$('head').append('<link rel="stylesheet" href="style2.css" type="text/css" />');
Это должно работать.
Я создаю popupwindow, и я хочу добавить файл css в этот popupwindow ниже, это код для popupwindow. У меня есть javascript с созданием popupwindow.
<a href="popupwindowcontent.xhtml" title="Print" class="popupwindow">Print1</a>
Теперь я хочу добавить файл css в этот popupwindow. Я попробовал что-то вроде
$('.popupwindow').append('<link rel="stylesheet" href="css/style2.css" type="text/css" />');
$('head').append('<link rel="stylesheet" href="css/style2.css" type="text/css" />');
но не работает.
Спасибо
$('head').append('<link rel="stylesheet" href="style2.css" type="text/css" />');
Это должно работать.
Вот как я добавляю css, используя jQuery ajax. Надеюсь, это кому-то поможет.
$.ajax({
url:"site/test/style.css",
success:function(data){
$("<style></style>").appendTo("head").html(data);
}
})
var css_link = $("<link>", {
rel: "stylesheet",
type: "text/css",
href: "yourcustomaddress/bundles/andreistatistics/css/like.css"
});
css_link.appendTo('head');
Просто мои пары центов... иногда хорошо быть уверенными, что нет никаких дубликатов... поэтому у нас есть следующая функция в библиотеке utils:
jQuery.loadCSS = function(url) {
if (!$('link[href="' + url + '"]').length)
$('head').append('<link rel="stylesheet" type="text/css" href="' + url + '">');
}
Как использовать:
$.loadCSS('css/style2.css');
Ваша проблема в том, что ваш селектор предназначен для элемента привязки <a>
. Вы обрабатываете тег <a>
так, как будто он представляет страницу, которая не соответствует действительности.
$('head')
будет работать до тех пор, пока этот селектор выполняется страницей, которая нуждается в css.
Почему бы просто не добавить файл css на рассматриваемую страницу. Какую-либо особую причину, чтобы сделать это динамически с другой страницы? Я даже не знаком с способом ввода css на удаленные страницы вроде этого... похоже, что это будет серьезная дыра в безопасности.
ДОБАВЛЕНИЕ к вашим аргументам:
Затем вы должны просто передать параметр на страницу, прочитать его с помощью javascript, а затем сделать все, что необходимо на основе параметра.
Попробуйте сделать это наоборот.
$('<link rel="stylesheet" href="css/style2.css" type="text/css" />').appendTo('head');
Я не думаю, что вы можете подключиться к окну, в котором вы инстинктивно... Я ЗНАЮ, что вы не можете этого сделать, если URL-адрес находится в разных доменах (XSS и весь этот джаз), но вы можете говорить UP из этого окна и элементов доступа родительского окна при условии, что они находятся в одном домене. лучше всего прикрепить таблицу стилей на странице, которую вы загружаете, и если эта страница не находится в том же домене (например, пытается переделать какую-то другую страницу), вы не сможете.
Вы пробовали просто использовать атрибут media для ссылки css?
<link rel="stylesheet" href="css/style2.css" media="print" type="text/css" />
Или установите его на экран, если вы не хотите, чтобы печатная версия использовала стиль:
<link rel="stylesheet" href="css/style2.css" media="screen" type="text/css" />
Таким образом, вам не нужно добавлять его динамически.