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

标签 javascript html

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

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;
}

最佳答案

How to show HTML element as text in webpage?

创建元素并使用 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>

关于javascript - 如何在网页中将 html 元素显示为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48842239/

相关文章:

javascript - 通过下拉列表使用 Jquery 过滤 "items"

javascript - Angular 2 : check empty form if radio button is set

javascript - 表单提交适用于 Button,但不适用于 Enter 键

javascript - HTML5/JavaScript 删除使用相册中的照片的选项 IOS/Android

javascript - 渲染图像操作 : HTML5 canvas element, 或使用 JS/jQuery 操作 DOM 元素的 CSS 哪个更快?

javascript - HTML 中的复选框和表格数据

javascript - 向 ko observable 数组项添加属性

php - 如何从带有嵌入 JS 代码的 PHP 变量的 PHP 文件输出 Javascript?

javascript - 在javascript中接收只有一个元素的表单数组时出现问题

javascript - 如何在 JavaScript 中最少输入两个表单?