我写了这段代码:
<script>
function changeColor(newColor) {
var currentLocation = window.location.href;
if (window.location.pathname == "/communication-negotiation-and-conflict- management/")
document.getElementById("color_var").style.backgroundColor = "lightblue";
</script>
Course full: <span style="color:white; display:inline-block;" id="color_var">63% </span>
我对代码的期望是 - 函数将根据当前url更改ID的颜色 - 如果url是我定义的(/ communication-negotiation-and-conflict-management /)ID(color_var)应该更改它的背景颜色。
我不知道为什么这不起作用: - (
答案 0 :(得分:0)
我不确定您的代码段是否只是不完整,但似乎您的功能缺少右括号。
另外,我看不到,你实际上在调用这个函数的地方,也许你应该在这里给出更多的上下文!
答案 1 :(得分:0)
啊,
这是我第一次写入stackoverflow。所以它可能有点令人困惑。让我解释一下。
我在我的Wordpress网站上创建了一个小部件,我正在尝试使用简单的javascript函数根据网址创建“颜色转换器”。
让我们说 - 我有这个页面http://europeansummerschool.com/course/communication-negotiation-and-conflict-management/
这个课程“63%”已经满了 - 所以我想用背景颜色为63%的蓝色。
我现在像这样重写代码:
<script>
var currentLocation = window.location.href;
if (currentLocation == "http://europeansummerschool.com/course/communication-negotiation-and-conflict-management/")
document.getElementById("color_var").style.backgroundColor = "lightblue";
</script>
Course full: <span style="color:white; display:inline-block;" id="color_var">63%</span>
答案 2 :(得分:0)
不幸的是,由于缺乏声誉,我无法对此发表评论,所以我不得不再写一个太棒了..
如果您的新代码段工作与否,您并没有真正提及,但我想它不是。原因是,在#color_var
添加到DOM之前,您的脚本标记已执行。因此,您尝试通过调用getElementById()
检索的元素还没有。
另一个错误来源可能是您将window.location.href
与网址字符串进行比较。如果网址略有不同,则无法正常工作。例如,如果您使用https而不是http,或者网址不包含尾部斜杠。
有许多不同的方法,只需要在SO上获取主机名和大量线程。 Take a look at this, for example.