我正在尝试使jquery替换元素样式,即使在重新加载后仍保持不变。这就是我到目前为止所拥有的
$("#myId").css("background","#000");
这只会在我重新加载页面时暂时覆盖样式,一切都恢复正常。
答案 0 :(得分:1)
你不能, Javascript是客户端语言。每次重新加载页面时,它都会运行相同的代码。
答案 1 :(得分:0)
直截了当的解决方案似乎是在你的CSS中添加一个简单的规则。显然,即使重新加载,您也会始终得到应用。
但我认为您需要在某些事件上更改颜色,然后想要存储该颜色以供下一页重新加载。您可以使用sessionStorage
存储所选颜色。然后你可以检查每个页面重新加载,是否已经为sessionStorage
中的任何值设置了,如果有,你可以简单地在你的div上应用那个颜色值。
var colors = ["red", "green", "blue"];
function setColor( color )
{
$("#demo").css("background-color", color);
sessionStorage.setItem("lastcolor", color);
}
var lastColor = sessionStorage.getItem("lastcolor");
if( lastColor !== undefined )
setColor( lastColor );
$("#change-color").on("click", function(e){
var color = colors[ Math.floor(Math.random()*colors.length) ];
setColor( color );
});//
#demo
{
border: thick solid red;
height: 100px;
width: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="demo">
</div>
<button id="change-color">Change</button>