如果语句中的锚点不起作用

时间:2016-02-28 11:28:48

标签: javascript jquery html css anchor

我在尝试修复此问题时遇到了很多麻烦。 我有一些代码应该激活if当满足锚中条件时改变CSS的语句。 这是代码的一个例子:

    window.setInterval(function() {
      var anchor = window.location.hash.slice(1);

      if (anchor = "Yellow") {
        $("body").css("background-color", "yellow");
      }
      if (anchor = "White") {
        $("body").css("background-color", "white");
      }
    }, 0);
<html>

<body>
  <a href="#Yellow">Yellow</a>
  <a href="#White">White</a>
</body>

</html>

请帮忙。 感谢。

2 个答案:

答案 0 :(得分:2)

变量比较

使用perl -i.`date +"%s"` -pe 'if (/^Release:/) { s#(\d+)#$1+1#e }' YOURSPECFILE.spec 检查===语句中的相等性:

if

执行此操作时:

window.setInterval(function() {
  var anchor = window.location.hash.slice(1);

  if (anchor === "Yellow") {
    $("body").css("background-color", "yellow");
  }
  if (anchor === "White") {
    $("body").css("background-color", "white");
  }
}, 0);

您正在重新分配if(anchor = "string").... 变量,而不是检查其值。

<小时/>

事件监听

正如A. Wolff在评论中指出的那样,您应该使用此代替anchor 0ms

timeout

在此处查看不受支持的浏览器的后备广告:MDN

答案 1 :(得分:0)

您可以使用==或===比较符号来检查if语句