javascript - 如何修复显示 html 符号

标签 javascript html

我想构建一个测验,但在显示 HTML 符号时遇到问题。 例如,它显示 " 而不是“ 这是完整的代码:https://codepen.io/mixereq/pen/GVdoWV

const result = JSON.parse(xhr.response);
for(let i=0; i<result.results.length; i++) {
    let categoryElement = document.createElement('div');
    let questionElement = document.createElement('div');
    let answersElement = document.createElement('div');

    categoryElement.className = 'category';
    questionElement.className = 'question';
    answersElement.className = 'answers';

    categoryElement.innerText = result.results[i].category;
    questionElement.innerText = result.results[i].question;
    if(result.results[i].correct_answer == 'True') {
        answersElement.innerText = result.results[i].correct_answer + result.results[i].incorrect_answers[0];
    } else {
        answersElement.innerText = result.results[i].incorrect_answers[0] + result.results[i].correct_answer;
    }

    container.appendChild(categoryElement);
    container.appendChild(questionElement);
    container.appendChild(answersElement);
}

最佳答案

使用 innerHTML 而不是 innerText 来设置内容。然后浏览器会将值解释为 HTML 而不是纯文本,并解析和呈现它,而不是仅仅逐字显示它。

当然,当从第 3 方 API 显示 HTML 时,应谨慎使用 - 请注意脚本注入(inject)等风险。

关于javascript - 如何修复显示 html 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57417079/

相关文章:

javascript - 最后一个单选按钮文本输入的编码

javascript - Html 5 Canvas 图片库

javascript - 函数在运行内部操作之前返回值

javascript - AngularJS 中的自定义和标准多个过滤器

android - 如何为网站快捷方式(主屏幕)配置应用程序名称?

html - 3 列布局 : middle col have max width, 右列是动态的

javascript - 根据点击的项目加载 javascript

javascript - 文档末尾的事件

html - 如何垂直对齐同一表格单元格中的中间两个元素

html - 有没有办法在 CSS 2D 光栅化中消除子像素的锯齿?