我有以下代码,在<a>
代码后附加一个带警告的图标:
$j("li[name='"+node_name+"'] > a").after('<a onmouseover="alert(\' expnote_from_db[n][0] \');" ><ins class="' + selected_class + '"> </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 + '"> </ins></a>');
我不明白撇号在哪里出错。
感谢您对此的帮助。感谢
答案 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 + '"> </ins></a>');