Javascript在单击时更改颜色并保持相同的颜色
我目前拥有以下代码:Javascript在单击时更改颜色并保持相同的颜色,javascript,css,colors,background-color,Javascript,Css,Colors,Background Color,我目前拥有以下代码: <li><a href="index.php" id="1" onclick="document.getElementById('1').style.background = '#8B4513';">Weblog</a></li> 这会改变颜色,但因为它打开index.php,颜色不会保持相同的颜色。它将恢复为原始颜色 如何在不同的页面中保持相同的颜色 谢谢开始,ID不能以数字开头 您必须在服务器端捕获所选页面,并为其提
<li><a href="index.php" id="1" onclick="document.getElementById('1').style.background = '#8B4513';">Weblog</a></li>
这会改变颜色,但因为它打开index.php,颜色不会保持相同的颜色。它将恢复为原始颜色
如何在不同的页面中保持相同的颜色
谢谢开始,ID不能以数字开头 您必须在服务器端捕获所选页面,并为其提供一个类似selected的类,然后使用CSS执行以下操作:
li.selected a
{
background: #8B4513;
}
如果您不知道如何使用PHP设置所选页面,请阅读本文:从代码中可以看出,在用户单击链接后,您正在尝试设置元素的样式 这里似乎没有必要使用Javascript。我只需要使用:visted css伪类来设置元素的样式 比如,
a:visited { text-decoration: line-through; }
Javascript是客户端,这意味着所做的任何更改都会以某种方式在用户屏幕上发生 PHP是服务器端的。您向服务器发送请求,服务器将处理该请求并显示输出 如果你想突出显示当前网页,这不是方法 我建议您在
li a
-列表中的每个文件上添加一行PHP。例如:
<?php if ($URL == 'index.php') echo 'class="selected"'; ?>
并使用CSS将链接与类中选定的红色链接关联起来。您指的是访问链接的颜色吗?简单的解决方案是使用cookie跟踪此类选择。加载新页面时,您可以检查标志并设置颜色。如果我单击了另一个链接,我单击的上一个链接是否会恢复到原始颜色?还是保留它的“点击”颜色?因为访问的链接和选择的链接有不同的实现和效果,而你的问题听起来有点两者兼而有之。在HTML5中,
id
可能以数字开头。这是一个坏习惯,所以实际上不是。