Javascript 为什么我总是得到一个;意外标记“;这行代码有错误吗?

Javascript 为什么我总是得到一个;意外标记“;这行代码有错误吗?,javascript,unexpected-token,Javascript,Unexpected Token,Im使用PHP输出信息行。我正在尝试为每一行添加隐藏/显示。我“标识”了该行,然后添加了一个简单的文本“隐藏/显示”按钮,该按钮引用该标识行,并尝试切换“显示”属性 我试着转义引号,将它们改为单引号,添加/删除括号。我不知所措 echo "<table width=\"640\" style=\"margin-left: auto; margin-right: auto;\"><tr id=\"JEntry".$data['ID']."\" style=\"display: v

Im使用PHP输出信息行。我正在尝试为每一行添加隐藏/显示。我“标识”了该行,然后添加了一个简单的文本“隐藏/显示”按钮,该按钮引用该标识行,并尝试切换“显示”属性

我试着转义引号,将它们改为单引号,添加/删除括号。我不知所措

echo "<table width=\"640\" style=\"margin-left: auto; margin-right: auto;\"><tr id=\"JEntry".$data['ID']."\" style=\"display: visible\"><td><button onmousedown=\"javascript: if (document.getElementById(\"JEntry".$data['ID']."\").style.display != \"visible\") { document.getElementById(\"JEntry".$data['ID']."\").style.display = \"visible\"; } else { document.getElementById(\"JEntry".$data['ID']."\").style.display = \"none\"; }\">Hide or Show</button>";
echo“隐藏或显示”;

意外标记“}”

您的PHP代码很好。但是,生成的HTML需要转义其属性

例如,您的代码输出如下内容

<button onmousedown="javascript: if (document.getElementById("JEntry")) {}"></button>

阅读这篇文章的方法是,双引号(
)是PHP的一部分,转义双引号(
\”
)是HTML的一部分,单引号(
)是JS的一部分。

PHP代码很好。但是,生成的HTML需要转义其属性

例如,您的代码输出如下内容

<button onmousedown="javascript: if (document.getElementById("JEntry")) {}"></button>

读这篇文章的方法是,不带双引号(
)是PHP的一部分,转义双引号(
\”
)是HTML的一部分,单引号(
)是JS的一部分。

除了修复引号,您还需要注意的是,
tr
元素不能将
display
样式属性设置为
visible
,这不在该元素的可接受值范围内。或者,将其设置为“”(空字符串)以显示行,或将其设置为
none
以隐藏行。除了修复引号外,还需要注意
tr
元素不能将
display
样式属性设置为
visible
,这不在该元素可接受的值范围内。或者,将其设置为“”(空字符串)以显示该行,或设置为
none
以隐藏该行。这非常完美!非常感谢。我的脑子里有点乱,因为我的代码在使用php将javascript写入HTML标记时非常复杂。你的帮助和描述很清楚,效果很好。此外,它还帮助我更好地应对挑战。再次感谢!这太完美了!非常感谢。我的脑子里有点乱,因为我的代码在使用php将javascript写入HTML标记时非常复杂。你的帮助和描述很清楚,效果很好。此外,它还帮助我更好地应对挑战。再次感谢!
<button onmousedown="javascript: if (document.getElementById(\"JEntry\")) {}"></button>
echo "<table width=\"640\" style=\"margin-left: auto; margin-right: auto;\"><tr id=\"JEntry".$data['ID']."\" style=\"display: visible\"><td><button onmousedown=\"javascript: if (document.getElementById('JEntry".$data['ID']."').style.display != 'visible') { document.getElementById('JEntry".$data['ID']."').style.display = 'visible'; } else { document.getElementById('JEntry".$data['ID']."').style.display = 'none'; }\">Hide or Show</button>";