js 字符串 转换 html标签,js 字符串转html标签

遇到一个问题:var str = “hk”,这是一段字符串,

获取放在网页上显示也是一段字符串:hk,此时的不是标签

怎么才能让在网页上以标签方式显示呢?

右击查看htmlelement的时候,变成这样了:

hk

百度了,但是没起效,请大神指点

在这个页面顶部的地方举个栗子吧比如:

var str1 = "111";

var str2 = "222";

var str3 = "";

document.getElementById('sideBookmark').innerHTML = str1; //原生js写法

$('#sideBookmark').html(str2); //jq写法

不过一般情况下要注意防xss注入,所以要对一些字符转义。比如你可以定义个函数

function escapeChars(str) {

str = str.replace(/&/g, '&');

str = str.replace(/

str = str.replace(/>/g, '>');

str = str.replace(/'/g, '´');

str = str.replace(/"/g, '"');

str = str.replace(/\|/g, '¦');

return str;

}

$('#sideBookmark').html(escapeChars(str3));

用html写入,直接上代码了

var str = "hk";

var parent = $('body');

parent.html(str);

document.body.innerHTML = 'hk'

要看源码,我怀疑是<>这些符号被转义了,你看起来是

所以,你需要先html….decode()一下。

这个是你想要的:

var str = 'hk';

var div = document.createElement('div');

div.innerHTML = str;

var span = div.childNodes[0];

var body = document.getElementsByTagName('body')[0];

body.appendChild(span);

原生方法。

改一下html结构?

比如

some word..

这样?

不然就只能做转义了

你可能感兴趣的:(js,字符串,转换,html标签)