javascript
  • jquery
  • 2017-04-21 27 views 1 likes 
    1

    我目前正在研究一個我玩的瀏覽器遊戲的腳本,它會爲類「main-description」添加一些按鈕。當我運行的代碼,但我得到的錯誤jquery .html()無效字符「#」

    SyntaxError: Invalid character: '#' 
    

    這裏是什麼即時試圖做

    $(".main-description").html("<button onclick='$(#chat_input).val(Text);$(#chat_submit).click();"'>Test</button>") 
    

    的代碼添加按鈕,增加了文本到客艙,然後該頁面的縮短版按下發送按鈕。我不知道發生了什麼,我怎樣才能解決它。

    +0

    你可能需要逃脫你的雙引號 – elethan

    回答

    3

    您將必須用"替換所有字符。你還必須確保你傳遞一個帶引號的字符串到$選擇,以及逃避任何單或雙引號你找到字符串中(取決於你用什麼作爲主要的分隔符)

    $(".main-description").html('<button onclick=\'$("#chat_input").val("Text");$("#chat_submit").click();"\'>Test</button>') 
    
    +0

    我現在得到SyntaxError:無效字符'\ u8216'和t帽子字符是鋪。我怎樣才能解決這個問題? – Puffycheeses

    +0

    該錯誤可能在您的代碼中的其他地方發生。您可能需要編碼unicode字符(例如,在您的瀏覽器控制檯中嘗試'encodeURI('鋪')') – Brian

    +0

    它只是給了我一些數字。我仍然得到錯誤... – Puffycheeses

    2

    它看起來像你需要避免一些雙引號。試試這個:

    $(".main-description").html("<button onclick='$(\"#chat_input\").val(\"Text\");$(\"#chat_submit\").click();\"'>Test</button>") 
    

    或者至少會導致您最初發布的代碼出現問題。在您的原始代碼中:

    $(".main-description").html("<button onclick='$("#chat_input").val("Text");$("#chat_submit").click();"'>Test</button>") 
    

    您可以從奇怪的語法中看到突出顯示某事不正確。 ..."#chat_input"...前雙引號將被解釋爲收盤報價爲您輸入.html,它都將是下坡從那裏......

    1

    您在.val()呼叫丟失周邊選擇串qoutes和"Text"。您可以替代地將jQuery(html, attributes)替換爲.html()替代onclick事件處理程序屬性。

    $(".main-description").html(
        $("<button>", { 
        on:{click:function() { 
           $("#chat_input").val("Text"); 
           $("#chat_submit").click() 
           } 
         }, 
        html:"Text" 
        }) 
    ); 
    
    1

    嘗試以下操作:

    $(".main-description").html("<button onclick=$('#chat_input').val('Text');$('#chat_submit').click();>Test</button>")
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     
    <div class="main-description"></div>

    0

    看來你正在使用額外的引號(「),使用如下:

    $(".main-description").html("<button onclick='$(#chat_input).val(Text);$(#chat_submit).click();'>Test</button>") 
    
    相關問題