2012-04-30 44 views
0

上的按鈕,單擊我有以下我。員額()內部代碼:如何使用jquery更改標籤上的顏色永久性?

if (Comment != null && Grade > 0) { 
    $("navigation").attr('a[data-id="' + QuestionID + '"]') 
        .css({ "background-color": "green" }); 
} else if (Comment == null && Grade == null) { 
    $('a[data-id="' + QuestionID + '"]').css({ "background-color": "#D8D8D8" }); 

如果我收我的web應用或只是刷新它的顏色了。我怎樣才能使顏色永遠保持,即使我關閉或刷新我是否必須添加類或什麼?

+0

你是什麼意思的「永久」? –

+0

它改變了網頁什麼是不可能的,除了當他編輯源文件。 @Tieson – 11684

+0

我的意思是,即使刷新或關閉瀏覽器,顏色仍然存在 – Obsivus

回答

2

好了,答案很簡單:你不能

龍答: CSS文件存儲在遠程服務器上並擔任(在你的HTML文檔的頭部通過<link />標籤)要求。 JavaScript在您的本地機器上執行,在瀏覽器中(除非您正在運行node.js,我想)。所以,只要特定的腳本實例/頁面視圖正在運行,您的更改就會存在。重新加載頁面重新請求(取決於緩存設置)CSS文件並重新加載它。

所以,除非你希望用戶能夠自由地修改您的服務器上的文件(一個紀念碑式的壞主意),你真的不能做什麼,似乎要...

HTH。

1

將此代碼移至javascript函數,例如,function colorChange(),並在onLoad()和onClick()(當按下按鈕時)調用此函數。

+0

無法使用頁面具有的功能 – Obsivus

1

我認爲你必須找到永久標記的方法,比如添加一個類,因爲那樣你就可以編輯你的css並且它已經解決了。
我想你想發表評論嗎?在你的服務器端代碼中添加該類或其他內容。

-1

在jQuery中,你可以當點擊功能完成添加一個類:

$(".navigation").onclick{function(){ 
     $(".class_name").addClass(); 
    } 
)}; 
1

您需要保存瀏覽器cookie中的顏色狀態,否則無法處理頁面刷新。 保存在cookie的顏色變化,並添加onLoad處理函數應該檢查是否cookie存在並標記的變化相應

我假設你正在使用jQuery,所以你可以嘗試

$.cookie("colorSet", "true", { expires: 7 }); 

和的onLoad方法你頁面可以再次查看

$.cookie("colorSet") == "true" 

再次進行更改。

相關問題