亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何應用通過jQuery動態加載的內聯和/或外部CSS

如何應用通過jQuery動態加載的內聯和/或外部CSS

楊魅力 2019-10-16 14:56:14
我有一個使用jQuery加載到Yahoo彈出窗口中的Ajax控件。我只是使用一個簡單的.get請求來加載HTML。  $.get(contentUrl, null, function(response) {         $('#dialog').find('.bd').assertOne().html(response);     }, "waitDlg");現在的問題是,加載的內容需要自己的CSS,而CSS實際上是動態創建的。我可以選擇內聯或使用外部CSS樣式表。在Chrome中進行的測試表明,使用上述代碼將通過AJAX加載的css添加到DOM時未進行評估/應用。當Internet Explorer僅停留在DOM中時,它將評估內聯的CSS,但Chrome不會。由于完全不相關的問題,我目前無法在FireFox中進行測試。jQuery是否有任何方法可以評估以內聯或動態添加到DOM的樣式表?我想這樣做的原因有很多:彈出窗口中的css屬于彈出窗口,并且可能完全來自不同的環境它是動態的,除非絕對必要,否則我不想將其放在父頁面中我計劃它像這樣工作,但事實并非如此!:-(
查看完整描述

3 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

給定樣式表的路徑(或一些將生成有效CSS的URL):


var myStylesLocation = "myStyles.css";

...其中任何一種都可以工作:


使用AJAX加載

$.get(myStylesLocation, function(css)

{

   $('<style type="text/css"></style>')

      .html(css)

      .appendTo("head");

});   

使用動態創建的<link>加載

$('<link rel="stylesheet" type="text/css" href="'+myStylesLocation+'" >')

   .appendTo("head");

使用動態創建的<style>加載

$('<style type="text/css"></style>')

    .html('@import url("' + myStylesLocation + '")')

    .appendTo("head");

要么


$('<style type="text/css">@import url("' + myStylesLocation + '")</style>')

    .appendTo("head");


查看完整回答
反對 回復 2019-10-16
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

var cssPath = "/path/to/css/";


var linkStr = document.createElement("&lt;link rel='stylesheet' type='text/css' href='"+cssPath+"' media='screen' /&gt;");


document.getElementsByTagName("head")[0].appendChild(linkStr);


查看完整回答
反對 回復 2019-10-16
  • 3 回答
  • 0 關注
  • 666 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號