【发布时间】:2014-02-10 01:15:31
【问题描述】:
信息:我有一些 javascript 代码,我将在下面显示,我遇到了引号问题。
html = [];
style = 'class=odd';
html.push('<li '+style+' onclick=SelectItem("'+ele.id+'","'+idItem+'","'+dsItem+'","'+qtItem+'"); >'+id+' - '+$iObjItensListaVenda.result.ds_item[i]+'</li>');
如上所示,我有从 JSON 对象中获取的字符串。
问题:但是当我试图将它作为函数参数放在<li> 元素的onClick 事件上时,我生成的html <li> 元素变得完全没有格式:
<li natural,"150");="" white="" american="" onclick="SelectItem("descItem1","2",TELHA" class="odd">00002 - TELHA AMERICAN WHITE NATURAL</li>
我想要什么: 我需要一个像函数一样的解决方案,可能已经存在于 jQuery 中,以引用我的字符串。像QuoteStr("s t r i n g"); 一样变成""s t r i n g""。
也许你在抱怨:
- 变量
ele是一个html<input>元素。 - 变量
idItem仅包含数字,它们来自 JSON 对象。 - 变量
dsItem是一个包含项目描述的字符串,它也来自JSON对象。 - 变量
qtItem只包含数字,是物品的数量,也是JSON格式的。
【问题讨论】:
-
onclick = 'SelectItem("desc...","we..")';
-
这是一个处理转义引号的完整答案:stackoverflow.com/a/9756789/470480
-
理智的解决方案是使用 jQuery 绑定事件处理程序,而不是构建 HTML 字符串。
-
@FelixKling 这将是有问题的,因为我有动态参数,如果我想每个绑定一个,就会出现问题,因为我的
<li>没有任何标识符。
标签: javascript jquery html json quotes