在属性中附加三引号的HTML

时间:2019-03-15 08:50:02

标签: javascript jquery html

我想在将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)

但是错误仍然存​​在。

2 个答案:

答案 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('"','&quot;') : someValue)

谢谢!