css onmouseover导致DOM错误

时间:2018-01-04 16:03:34

标签: css onmouseover

我有一个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生成的,所以我不能使用任何双引号?我试过,它打破了我的页面

3 个答案:

答案 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;
?>