为什么我做错了?它没有加载 amin.css 甚至没有删除 adminNotes.css
if(($(".AdminNoteContainer").length <= 0)){
$("head").append($('<link rel="stylesheet" href="css/main.css" />'));
$('head *[href*="css/adminNotes.css"]').remove();
};
为什么我做错了?它没有加载 amin.css 甚至没有删除 adminNotes.css
if(($(".AdminNoteContainer").length <= 0)){
$("head").append($('<link rel="stylesheet" href="css/main.css" />'));
$('head *[href*="css/adminNotes.css"]').remove();
};
你的问题不在于.length
(虽然我不知道你为什么有<= 0
,你可以简单地做=== 0
甚至更好if(!$(".AdminNoteContainer").length)
),而在于你如何附加 CSS。
IE 8(甚至我认为是 9)不允许您<link>
在页面呈现后附加标签。您需要使用 IE 特定的方法来添加 CSS。 document.createStyleSheet
.
我喜欢创建一个getStyleSheet
方法来检查附加 CSS 的正确方法。如果它在那里,它将使用document.createStyleSheet
,如果没有,它将附加一个<link>
标签。
$.getStyleSheet = function(url){
if(document.createStyleSheet){
document.createStyleSheet(url);
}
else{
$('<link />', {
type: 'text/css',
rel: 'stylesheet',
href: url
}).appendTo('head');
}
};
然后你可以简单地做:
if(!$(".AdminNoteContainer").length){
$.getStyleSheet('css/main.css');
$('head *[href*="css/adminNotes.css"]').remove();
}