2012-04-30 46 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" 

再次进行更改。

相关问题