繁体   English   中英

如何在网页中将html元素显示为文本

[英]How to show html element as text in webpage

我想循环这个数组并将数据显示到一个表中。

var dataM = [
          {
              "id": "1",
              "name": "My #1",
              "thumbnailUrl": "image/8.gif",
              "price": 20
            },
            {
              "id": "2",
              "name": "<img onerror='window.document.body.innerHTML = \"<h1>XSS</h1>\";' src=''> ",
              "url": "image/10.gif",
              "price": 10
            }
        ];

Javascript 函数:

function loadData() {
  var data = "";
  for(var i = 0; i < dataM.length; i++) {
    data += "<tr>";
    var tempData = dataM[i];

    Object.keys(tempData).forEach(function(key) {
        data += "<td><code>" + tempData[key] + "</code></td>";
    });
    data += "</tr>";
  }
  var tbody = document.getElementsByTagName('tbody');
  tbody[0].innerHTML = data;
}

如何在网页中将 HTML 元素显示为文本?

创建元素并使用innerText属性。

 var dataM = [{ "id": "1", "name": "My #1", "thumbnailUrl": "image/8.gif", "price": 20 }, { "id": "2", "name": "<img onerror='window.document.body.innerHTML = \\"<h1>XSS</h1>\\";' src=''> ", "url": "image/10.gif", "price": 10 } ]; function loadData() { var tbody = document.getElementsByTagName('tbody')[0]; for (var i = 0; i < dataM.length; i++) { var tr = document.createElement('tr'); var tempData = dataM[i]; Object.keys(tempData).forEach(function(key) { var td = document.createElement('td'); var code = document.createElement('code'); code.innerText = tempData[key]; td.appendChild(code); tr.appendChild(td); }); tbody.appendChild(tr); } } loadData();
 <table> <tbody> </tbody> </table>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM