我有一张带有标签的表:
var labels = ['Hello user, start here', 'E&Y']; //etc
标签以HTML的形式连接起来,例如:
'<p>'+label[i]+'</p>'
所以效果是:
<p>Hello user, start here</p>
,浏览器显示文本'Hello user, start here'
。这是一个很好的行为,但我想在另一种情况下也显示标签,如下所示:
<p>Hello user, start here</p>
如此
'Hello user, start here'
,无需解码。
如何获得理想的效果?
编辑:
我简化了此过程,以向我们清楚地表明我的意思:
var labels = ['Hello user, start here', 'E&Y'];
var label = $( "<p>"+labels[0]+"</p>");
$("body").append(label);
我无法修改标签数组。
答案 0 :(得分:1)
当您直接将文本放入文本节点时,它不会被解码:document.createTextNode(labels[0])
var labels = ['Hello user, start here', 'E&Y'];
document.body.insertAdjacentHTML(
"beforeend",
'<p>'+labels[0]+'</p>'
);
document.body.appendChild(
document.createTextNode(labels[0])
);
jquery:
var labels = ['Hello user, start here', 'E&Y'];
$("body").append(
'<p>'+labels[0]+'</p>'
);
$("body").append(
$("<p>").text(labels[0])
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
答案 1 :(得分:0)
您尝试使用...安全的html代码... &
显示为“&”
var labels = ['Hello user&#44; start here', 'E&Y'];