使用javascript通过getcurrent URL更改backgroundcolor

时间:2016-05-26 11:31:11

标签: javascript

我写了这段代码:

    <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)应该更改它的背景颜色。

我不知道为什么这不起作用: - (

3 个答案:

答案 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.