我想在将HTML字符串附加到元素之前构造HTML字符串。这是字符串:
var html = '<tr><td data-value="' + someValue + '"></td></tr>';
$(el).append(html);
someValue
中的值为24"
。其中有一个"
。
添加HTML后,该元素是错误的。显然,附加"24""
会使元素仅识别"24"
,最后有一个松散的"
。我该怎么办?
我试图替换:
(someValue.indexOf('"') > 0 ? someValue.replace('"','\"') : someValue)
但是错误仍然存在。
答案 0 :(得分:1)
使用DOM方法(或它们的jQuery抽象),而不是尝试将字符串混入有效的HTML。
var tr = $("<tr />);
var td = $("<td />)
.attr("data-value', someValue);
tr.append(td);
$(el).append(tr);
答案 1 :(得分:0)
好吧,根据昆汀的评论。这有效:
(someValue.indexOf('"') > 0 ? someValue.replace('"','"') : someValue)
谢谢!