2014-12-03 33 views
0

我想追加以下字符串頭使用jQuery:試圖追加HTML字符串失敗與jQuery

"<script type='text/javascript'> window['adrum-app-key'] = 'dummy';</script>" 

但它總是失敗。試圖用'Hello'字符串做例如按預期工作。 下面的代碼段我用追加的字符串:

var integrationScriptTag = handlebars.partials.integration(integrationData); 
    $(document).ready(function() { 
     $('head').append(integrationScriptTag.trim()); 
    }); 

第一個字符串解析integrationData的結果。 任何幫助將真正被讚賞。

編輯:我意識到我誤導了你的一些與第一個字符串。它只是第二個代碼片段第一行產生的內容的表示。所以它是否真的很重要,如果它是一些引號或不。事實是我不使用一個字面值,而是一個等於第一個字符串的變量。我糾正了語法,以免混淆。 這是jsFiddle再現問題。 jsFiddle

+3

您需要轉義字符串內嵌入的單引號。 – 2014-12-03 17:47:39

+0

我不知道你爲什麼把它標記爲脫離主題。該問題很容易重現,並且不能通過簡單的印刷修復來解決。這裏是一個jsFiddle模擬問題[鏈接](http://jsfiddle.net/8u8qf01e/)。 – 2014-12-04 08:47:17

回答

0

我終於找到你不能添加腳本標記頭使用jQuery這樣。 我發現了一些解決方案herethere(查看第二個鏈接所選答案的第一個代碼片段)。

-1

在執行javascript之前解析頭部。所以你可能必須執行$(document).ready函數以外的append

+0

在這種情況下,SO上的語法高亮實際上給出了答案。 – charles 2014-12-03 17:51:22

+0

這可能是一個錯誤,同時重新編寫問題。 – Verhaeren 2014-12-03 17:52:20

0

這應該修復它:

'<script type=\'text/javascript\'> window[\'adrum-app-key\'] = \'dummy\';</script>' 

或這個就太:

'<script type="text/javascript"> window["adrum-app-key"] = "dummy";</script>' 

基本上你有引號不匹配。

0

利用這一點,它會解決這個問題

'<script type=\'text/javascript\'> window[\'adrum-app-key\'] =\'dummy\';<\/script>'