1

当我这样做时:

$route .= '<a class="over" onclick="update("'.$info->getData("code").'", "code", "yes")">'.$expl[$b].'</a> ';
} else {
$route .= '<a class="over" onclick="update("'.$info->getData("code").'", "code", "yes")">'.$expl[$b].'</a>, ';

输出是:

<a class="over" onclick="update(" bv", "code", "yes")">Beverwijk</a>

为什么前面有空格bv?我不想要那个。

4

1 回答 1

4

我可以重现您的问题...问题是,当您在带引号的属性上有双引号时,它似乎会这样做。

<a class="over" onclick="update(" bv", "code", "yes")">Beverwijk</a>
                        ^--bad--^  

解决方案:在函数参数上使用单引号,将它们转义。

$route = '<a class="over" onclick="update(\''.$info->getData("code").'\', \'code\' \'yes\')">'.$expl[$b].'</a>, ';

结果:

<a class="over" onclick="update('BV', 'code' 'yes')">Beverwijk</a>,

希望这可以帮助。

于 2013-10-19T14:37:20.257 回答