【问题标题】:SyntaxError when trying to get style尝试获取样式时出现语法错误
【发布时间】:2013-10-02 13:18:06
【问题描述】:

我正在尝试制作一个函数,在 Javascript 中将对象的颜色淡化为另一种颜色的链接,但是当我使用 Firebug 的 JavaScript 控制台时,控制台给了我一个 SyntaxError:

SyntaxError: syntax error
[Break On This Error] if (document.getElementById(fadeID).style.color = "#E6E6E6")){ 

Javascript(我使用 alert 来测试它是否工作。如果我把它放在 if l 之外:

<script>
    function toggleColor(fadeID){
        if (document.getElementById(fadeID).style.color = "#E6E6E6")){
            alert("hi");
        }
    }
</script>

HTML:

<body>
<div id = "content">
    <div id = "header">
        <a onmouseover = "javascript:toggleColor('home')" id = "home" href = "#" title = "Home">Home</a> |
        <a onmouseover = "javascript:toggleColor('music')" id = "music" href = "#" title = "Music">Music</a>
        </h1>
    </div>
</div>

【问题讨论】:

    标签: javascript html dom web styles


    【解决方案1】:
     if (document.getElementById(fadeID).style.color = "#E6E6E6")){
    

    应该是

     if (document.getElementById(fadeID).style.color == "#E6E6E6"){
    

    您使用 = 分配颜色,而不是比较。见FIDDLE

    【讨论】:

    • 和@celloplayer,这是几乎所有编程语言中分配和比较之间的区别。
    • 哎呀!我怎么错过了?
    【解决方案2】:

    你的 if 语句中有一个额外的),你也正在分配一个值而不是比较它

    if (document.getElementById(fadeID).style.color == "#E6E6E6"){
    

    【讨论】:

      【解决方案3】:

      你必须去掉一个夹子和等号:

      if (document.getElementById(fadeID).style.color = "#E6E6E6")){
      

      if (document.getElementById(fadeID).style.color == "#E6E6E6"){ // Here
      

      【讨论】:

        猜你喜欢
        • 2012-03-21
        • 1970-01-01
        • 2021-08-15
        • 2016-11-23
        • 2013-11-15
        • 2012-08-03
        • 1970-01-01
        • 2022-06-15
        • 1970-01-01
        相关资源
        最近更新 更多