我有一个php生成的HTML,我想添加一些css onmouseover功能,如下面
<span id='".$id."' class='userInfo' onmouseover='hoverdiv(event,'popupUserInfoDiv')' onmouseout='hoverdiv(event,'popupUserInfoDiv')'>".$c["test"]."</span>
javascript甚至还没有添加,如果我鼠标悬停,我在DOM的开头出现以下错误:
SyntaxError: Unexpected token '}'
编辑:抱歉,如果我不够清楚,但我的代码是PHP生成的,所以我不能使用任何双引号?我试过,它打破了我的页面
答案 0 :(得分:0)
您之前正在结束通话。
onmouseover='hoverdiv(event,'popupUserInfoDiv')'
应该是
onmouseover='hoverdiv(event,"popupUserInfoDiv")'
与
相同onmouseout='hoverdiv(event,'popupUserInfoDiv')'
和
".$c["test"]."
答案 1 :(得分:0)
您需要使用单引号和双引号,如下所示:
<span id='".$id."' class='userInfo' onmouseover="hoverdiv(event,'popupUserInfoDiv')" onmouseout="hoverdiv(event,'popupUserInfoDiv')">".$c["test"]."</span>
否则解析器会感到困惑。
在这种情况下,我使用了HTML属性的双打,以及JS的单打。它有效。
答案 2 :(得分:0)
由于您已经为您的PHP字符串使用双引号并为HTML属性使用单引号,因此您无法使用JavaScript的单引号。
hoverdiv(event,'popupUserInfoDiv')
将您的PHP字符串转换为字符串块并释放双引号,请参阅下面的字符串块示例。
<?php
$str = <<<EOF
<p>Hello</p>
<p><?php echo _("World"); ?></p>
EOF;
?>