簡體   English   中英

jQuery動態創建樣式元素

[英]jQuery Creating a style element on fly

我想在頁面加載后創建樣式元素(例如,頁面加載后約2-3秒)

html

<html>
<body>
   <div id="div1" >
      <div id= "div2" > some text goes here </div>
   </div>
</body>
</html>

javascript

$(function () {

    var style = $('<style type="text/css" />').appendTo('head');
    style.html('body{ background:#000; }
                             \n
                            \#div1{ background:#0099f9; }'
    //I'm having some more elements which I need to alter their style attr's
    );

    var attr = style.html;

    style.html(attr + '\n\#div2{ background:#f0f; }');
});

我也有一堆html元素(除了提到的其他元素),在頁面加載后我需要更改其樣式

當我嘗試讀取代碼時,我會感到困難,因為它是硬編碼的,

當我需要在上述樣式標簽中添加一些元素時,我也遇到了問題

是他們這樣做的簡單方法,並且易於閱讀

感謝幫助 !!

祝你有美好的一天

我不知道這是否對您有幫助,而是動態地嘗試編寫CSS,難道您不能創建不同的樣式並在渲染它們時為它們提供正確的CSS類嗎?

像這樣:

div.even
{
  background-color:#f00;
}

div.odd
{
  background-color:#ff0;
}

然后,您可以在呈現頁面時確定正確的CSS類服務器端(使用PHP,ASP.Net等)。

我建議研究一下客戶端模板系統,例如此處討論的機制: http : //blog.reybango.com/2010/07/09/not-using-jquery-javascript-templates-youre-really-missing-out /

這種方法將使您的CSS片段與代碼分開,這將使代碼整潔得多。 您將CSS放入故意制作了“類型”的<script>塊中,以使瀏覽器不會嘗試執行它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM