jquery
  • html
  • 2017-07-07 39 views -4 likes 
    -4

    一個PHP頁面裏面我有一個功能function.Inside,我的一些代碼,如下所示: -內嵌juqery語法錯誤

    $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錯誤。請告知如何擺脫錯誤。

    +1

    ,你可以在您的文章亮點看,一個'''不正確地轉義 – Kaddath

    回答

    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'); 
        }); 
    }); 
    
    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; 
    

    不需要轉義!

    0

    使用backword斜槓「\」

    $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 
    
    相關問題