在.php页面内我有一个函数。在该函数中,我的一些代码如下所示: -
$html='';
$html.='<div id="imgContainer"></div>';
$html.='<img src="elements/18_lr.jpg" data-highres="elements/18_hr.jpg" onclick="$(this).mbZoomify({screen:'#imgContainer'});">';//<<----shows error near #imgContainer
在上面指定的行中,它显示错误的HTML错误。请告知如何摆脱错误。
答案 0 :(得分:0)
问题是由于报价不匹配造成的。您需要在对象值中转义'
,如下所示:
$html.='<img src="elements/18_lr.jpg" data-highres="elements/18_hr.jpg" onclick="$(this).mbZoomify({ screen:\'#imgContainer\' });">';
然而,一个更好的解决方案是完全删除过时且丑陋的on*
事件属性,并使用不显眼的事件处理程序。由于您已经在页面中包含了jQuery,因此您可以采用以下方式:
$html.='<img src="elements/18_lr.jpg" data-highres="elements/18_hr.jpg" data-screen="#imgContainer" />';
$('#container img').click(function() {
$(this).mbZoomify({
screen: $(this).data('screen');
});
});
答案 1 :(得分:0)
有很多方法可以做到这一点,但我个人认为目前最具可读性的是:
$html = <<<'END'
<div id="imgContainer"></div>
<img src="elements/18_lr.jpg" data-highres="elements/18_hr.jpg" onclick="$(this).mbZoomify({screen:'#imgContainer'});">
END;
无需转义!
答案 2 :(得分:0)
使用后退斜杠&#34; \&#34;
$html='';
$html.='<div id="imgContainer"></div>';
$html.='<img src="elements/18_lr.jpg" data-highres="elements/18_hr.jpg" onclick="$(this).mbZoomify({screen:\'#imgContainer\'});">';//<<----shows error near #imgContainer