2012-08-31 119 views
1

我有以下代碼其中<a>標籤後追加一個圖標與警報:撇號中的jquery/JavaScript字符串

$j("li[name='"+node_name+"'] > a").after('<a onmouseover="alert(\' expnote_from_db[n][0] \');" ><ins class="' + selected_class + '">&nbsp;</ins></a>'); 

上面的代碼正常工作,除了它顯示exp_from_db[n][0]作爲警告框內部的串。

所以我把它改成下面的代碼,但現在

$j("li[name='"+node_name+"'] > a").after('<a onmouseover="alert(\'"'+ expnote_from_db[n][0] + '"\');" ><ins class="' + selected_class + '">&nbsp;</ins></a>'); 

不顯示任何內容,我不明白爲什麼我有什麼錯用撇號。

我很感謝你對此的幫助。謝謝

+0

'「警報(\ 'expnote_from_db [N] [0] \ '); 」'應該像'「 警報(\'' + expnote_from_db [N] [0] +'\');「' – vol7ron

回答

3

這應該工作

$j('li[name="'+node_name+'"] > a') 
    .after('<a onmouseover="alert(\''+ expnote_from_db[n][0] + '\')" ><ins class="' + selected_class + '">&nbsp;</ins></a>'); 
+0

謝謝...它的工作很棒:) – Kim

+1

這就是答案的原因:http://stackoverflow.com/a/12216709/1603952 –

3

"字符正在分隔HTML屬性。您正在過早終止該屬性。

<a onmouseover="alert(\'" 

在HTML屬性中嵌套JavaScript是一種痛苦。

將JavaScript嵌入JavaScript字符串中的HTML屬性是一個更大的痛苦。

不要這樣做。使用addEventListener和朋友應用事件處理程序(因爲您使用的是jQuery,這意味着使用on方法將它們抽象出來)。

相關問題