[英]how to add css in css file dynmically?
我已經為網格編寫了一個js。 網格有一個功能,我在這樣的輸入中獲取每個列的寬度。
mygrid._struct = [{ fieldType : "deltaHedgeType", defaultWidth : 80},
{ fieldType : "quoteccy", defaultWidth : 40 }]
所以網格html會這樣生成
<table id="mygrid">
<tr>
<td class="deltaHedgeType"></td>
<td class="quoteccy"></td>
</tr>
<tr>
<td class="deltaHedgeType"></td>
<td class="quoteccy"></td>
</tr>
</table>
我希望此CSS附加在style.css中
#mygrid .deltaHedgeType{
width:40;
}
#mygrid .quoteccy{
width:80;
}
我想到的是在標簽的標頭中附加此CSS。 coz IE瀏覽器的數量有所限制,並且它還會增加頁面的html大小。 所以我如何在style.css中添加此CSS。
您必須解析mygrid._struct以獲得fieldType和defaultWidth,然后對每個元素使用以下代碼
添加CSS的最終JavaScript將是
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = '#mygrid.'+fieldType+'{ width:'+defaultWidth+'; }';
document.getElementsByTagName('head')[0].appendChild(style);
例如,限制要么在一個已經使用的樣式上使用一個id,然后使用jquery引用它,要么創建一個新的樣式,然后將所有您的樣式附加到該樣式上。
$style = $('#MyGridStyle');
if (!$style[0]) {
$style = $("<style id='MyGridStyle' type='text/css' rel='stylesheet' />").appendTo($("head"));
}
現在使用此$ style添加到此
您可以將CSS直接寫到html頁面的開頭-我在這里找到了一個很好的例子: 使用JavaScript向<head>添加CSS嗎?
在CSS文件內部,您可以使用@import url("/css/filename.css")
導入新的CSS文件,該文件會動態刷新並用於某些特殊用途。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.