首頁  >  文章  >  web前端  >  如何使用 jQuery 動態更改 CSS 類別規則而不觸及 DOM?

如何使用 jQuery 動態更改 CSS 類別規則而不觸及 DOM?

Barbara Streisand
Barbara Streisand原創
2024-11-01 23:58:29635瀏覽

How can I dynamically change CSS class rules using jQuery without touching the DOM?

使用jQuery 動態修改CSS 類別規則

問題1:動態變更類別規則

變更字型的CSS 類別的大小使用jQuery 的“.classname”,無需添加內聯CSS 或直接操作DOM,請按照以下步驟操作:

<code class="javascript">// Get the CSS stylesheet
var styleSheet = document.styleSheets[0];

// Loop through the CSS rules within the stylesheet
for (var i = 0; i < styleSheet.cssRules.length; i++) {
    // Check if the current rule is for the ".classname" class
    if (styleSheet.cssRules[i].selectorText === ".classname") {
        // Set the new font size for the rule
        styleSheet.cssRules[i].style.fontSize = "16px";
    }
}</code>

問題2:將類別更改保存到檔案

保存修改後的CSS如果要將類別規則寫入文件,您需要建立一個到伺服器的Ajax POST 請求。

<code class="javascript">// Build a string containing the updated CSS declarations
var updatedCSS = "";
for (var i = 0; i < styleSheet.cssRules.length; i++) {
    updatedCSS += styleSheet.cssRules[i].selectorText + " {\n";
    for (var j = 0; j < styleSheet.cssRules[i].style.length; j++) {
        updatedCSS += "    " + styleSheet.cssRules[i].style[j] + ": " + styleSheet.cssRules[i].style.getPropertyValue(styleSheet.cssRules[i].style[j]) + ";\n";
    }
    updatedCSS += "}\n";
}

// Send the updated CSS to the server
$.ajax({
    type: "POST",
    url: "/save-css",
    data: { updatedCSS: updatedCSS }
});</code>

在伺服器端,建立一個腳本以將收到的更新後的 CSS 儲存到檔案中。

補充說明

  • 第一種方法不會影響外部CSS文件,只是修改記憶體中的CSS規則,因此頁面刷新後不會持久。
  • 為了跨瀏覽器相容性,請考慮使用 jQuery 外掛程式來簡化 CSS 規則操作。

以上是如何使用 jQuery 動態更改 CSS 類別規則而不觸及 DOM?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn