当我调用这个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;?>"
这样读起来更好就是这样。