如何忽略引号内的标签? HTML,Javascript

时间:2014-02-01 18:50:27

标签: javascript html

我正在尝试使用innerHTML来制作段落。

innerHTML="<html><head></head><body></body></html>";

但我当然会因为试图处理标签而遇到错误。我怎样才能让浏览器忽略这些标签,因为它们是引号?

2 个答案:

答案 0 :(得分:3)

尝试:

innerHTML="<html><head></head><body></body></html>".replace(/</g,'&lt;');

单词:用<替换所有&lt;会触发浏览器将&lt;呈现为字符串<,但[浏览器]不会尝试呈现html-string为html。您也可以将所有>替换为&gt;当然。

或者您可以使用textContent代替innerHTML,这将直接转义字符串:

[yourElement].textContent = '<html><head></head><body></body></html>';

答案 1 :(得分:-1)

在这种情况下你应该转义HTML。

常见功能怎么样:

function escape(s) {
    var el = document.createElement("div");
    el.innerText = el.textContent = s;
    s = el.innerHTML;
    return s;
}

用法:

innerHTML = escape("<html><head></head><body></body></html>");

我认为使用浏览器内置行为来转义HTML比尝试替换所有特殊字符要好。