正确打印Javascript数组值

时间:2016-08-18 17:40:39

标签: javascript jquery html arrays html-encode

所以我有一个javascript数组,在数组中我有这个:

var quiz = [{
    "question": "What is the greatest common factor of 105 and 126?",
    "image": "",
    "choices": ["3", "7",
        "9", "21", "35"
    ],
    "correct": "21",
    "conceptlink": "https://www.khanacademy.org/math/in-sixth-grade-math/playing-numbers/highest-common-factor/v/greatest-common-divisor",
    "explanation": "In order to solve this question, you must factor each number into prime factors<h1>Height</h1>",
}];

专注于数组的说明子集。我有一个我要打印的H1元素,但是,它是作为文本的一部分而不是代码打印的。换句话说,文本将为:

enter image description here

而不是: enter image description here

这是打印说明的代码

 $('#explanation').html('<strong>Incorrect.</strong> ' + htmlEncode(quiz[currentquestion]['explanation']));

很高兴获得js专家的帮助!!

3 个答案:

答案 0 :(得分:0)

你几乎拥有它。我不确定你的函数htmlEncode()是做什么的,但是如果你不使用它,它应该给你你想要的。这是一个jsbin演示它:http://jsbin.com/yeyuqoqabe/edit?html,output

如果您想知道如何使字符串HTML安全,那么这里有一个可以提供帮助的问题:How to encode a string in JavaScript for displaying in HTML?

答案 1 :(得分:0)

您可以使用jQuery来转义文本。

var escaped = $("<div>").text(quiz[0]['explanation']).html();

https://jsfiddle.net/ouu6x2ge/

答案 2 :(得分:0)

我认为你不需要htmlEncode。我建议你试试:

$('#explanation').html('<strong>Incorrect.</strong><span>').find('span').text(quiz[currentquestion]['explanation']))