调用函数时出现意外的令牌 } 错误


Unexpected token } error when function is called

当我调用这个javascript函数时,我收到一个错误,说"未捕获的语法错误:意外的令牌}"。

function completed(num, title)
{
    if(localStorage.getItem(num + "done" + title) === 'true')
    {
        document.getElementById("completedclick" + title).style.color="#004600";
        document.getElementById("completed" + title).style.background="-webkit-linear-gradient(left, red, white)";
        colored = false;
        localStorage.setItem(num + "done" + title, false);
    }
    else
    {
        document.getElementById("completedclick" + title).style.color="#8B1A1A";
        document.getElementById("completed" + title).style.background="-webkit-linear-gradient(left, green, white)";
        colored = true;
        localStorage.setItem(num + "done" + title, true);
    }
}

该函数由以下代码段调用:

<div class='completed".$done."' id='completed".$passer."'>
    <a href='#!' id='completedclick".$passer."' onclick='completed('{class1}', ".$passer.")'>
        Completed
    </a>
</div>

{class1} 在填写模板时被相应的类替换,$passer是从数据库中获取的变量。

请帮忙,我已经尝试了所有方法,但似乎找不到问题。

<div class='completed".$done."' id='completed".$passer."'>
    <a href='#!' id='completedclick".$passer."' onclick='completed('{class1}', ".$passer.")'>
        Completed
    </a>
</div>

应该是:

<?php
  echo "<div class='completed".$done."' id='completed".$passer."'><a href='#' id='completedclick".$passer."' onclick='completed('".$class1."', ".$passer.")'> Completed </a></div>";
?>

无论如何,据我所知。它可能需要一些调整,但一般的想法是你缺少所有<?php ?>标签并尝试在这里使用 php 变量。

干杯!

编辑

可能需要一些 ' 或 ' 修复

看起来您正在混淆单引号和双引号。 尝试修复此块的第 2 行:

<div class='completed".$done."' id='completed".$passer."'>
<a href='#!' id='completedclick".$passer."' onclick='completed('{class1}', ".$passer.")'>
    Completed
</a>
</div>

要成为

<div class='completed".$done."' id='completed".$passer."'>
<a href='#!' id='completedclick".$passer."' onclick='completed("{class1}", ".$passer.")'>
    Completed
</a>
</div>

好的,改变这个

<div class='completed".$done."' id='completed".$passer."'>
    <a href='#!' id='completedclick".$passer."' onclick='completed('{class1}', ".$passer.")'>
        Completed
    </a>
</div>

<div class="completed<?php echo $done;?>" id="completed<?php echo $passer;?>">
    <a href="#!" id="completedclick<?php echo $passer;?>" onclick="completed('{class1}', '<?php echo $passer;?>')">
        Completed
    </a>
</div>

还要注意引号。 我还建议在类的 html 和 php 部分之间使用-,例如这样。

class="completed-<?php echo $done;?>"
这样读起来

更好就是这样。