在jquery / javascript字符串中的撇号

时间:2012-08-31 13:46:58

标签: javascript jquery

我有以下代码,在<a>代码后附加一个带警告的图标:

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

我不明白撇号在哪里出错。

感谢您对此的帮助。感谢

2 个答案:

答案 0 :(得分:3)

"个字符分隔HTML属性。您过早地终止了该属性。

<a onmouseover="alert(\'"

将JavaScript嵌套在HTML属性中是一件痛苦的事。

将JavaScript嵌入JavaScript字符串中的HTML属性是一个更大的痛苦。

不要这样做。使用addEventListener和朋友应用事件处理程序(因为您使用的是jQuery,这意味着使用抽象它们的on方法)。

答案 1 :(得分:3)

这应该有效

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