我正在从数据库中获取myList并将其附加到我的表中。
$.each(myList, function (index, data) {
var row = '<tr>';
row = row
'<td class="action"><a href='#' title='Edit Note' onclick="showPopup(' + ''' + note.RID + ''); return false;" ><img width='25' height='20' src='../images/text-editor.png' /></a></td>'
+ '</tr>';
$('#tblNotes').append(row);
});
如果 row 的值来自数据库是一个脚本,那么如何在不执行脚本的情况下在我的表上显示它?
一种解决方案是,我们可以删除脚本标签。 像这样:
row = row.replace("<script>", "");
row = row.replace("</script>", "");
但我不想要它。我必须显示确切的值。
我得到了答案。 通过使用 html 实体,我解决了这个问题。
row = row.replace("<script>", "<script>");
row = row.replace("</script>", "</script>");
通过添加这些行,我可以停止执行脚本。
两者都可以工作
var row = `Here is some embedded script <script>alert('bla')</script>`
document.getElementById("x").innerText = row
row = row.replace(/</g, "<");
document.getElementById("y").innerHTML = row
<span id="x"></span>
<hr/>
<span id="y"></span>