扫码关注官方订阅号
遇到一个问题:var str = "hk",这是一段字符串,获取放在网页上显示也是一段字符串:hk,此时的不是标签怎么才能让在网页上以标签方式显示呢?右击查看htmlelement的时候,变成这样了:hk百度了,但是没起效,请大神指点
光阴似箭催人老,日月如移越少年。
这个是你想要的:
var str = '<span>hk</span>'; var p = document.createElement('p'); p.innerHTML = str; var span = p.childNodes[0]; var body = document.getElementsByTagName('body')[0]; body.appendChild(span);
原生方法。
在这个页面顶部的地方举个栗子吧比如:
var str1 = "<span>111</span>"; var str2 = "<span>222</span>"; var str3 = "<script>alert('333')</script>"; document.getElementById('sideBookmark').innerHTML = str1; //原生js写法 $('#sideBookmark').html(str2); //jq写法
不过一般情况下要注意防xss注入,所以要对一些字符转义。比如你可以定义个函数
function escapeChars(str) { str = str.replace(/&/g, '&'); str = str.replace(/</g, '<'); 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 = "<span>hk</span>"; var parent = $('body'); parent.html(str);
document.body.innerHTML = '<span>hk</span>'
要看源码,我怀疑是<>这些符号被转义了,你看起来是<实际上源码是实体符号。所以,你需要先html....decode()一下。
改一下html结构? 比如
<pre> <span> some word.. </span> </pre>
这样? 不然就只能做转义了
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这个是你想要的:
原生方法。
在这个页面顶部的地方举个栗子吧比如:
不过一般情况下要注意防xss注入,所以要对一些字符转义。比如你可以定义个函数
用html写入,直接上代码了
document.body.innerHTML = '<span>hk</span>'要看源码,我怀疑是<>这些符号被转义了,你看起来是<实际上源码是实体符号。
所以,你需要先html....decode()一下。
改一下html结构?
比如
这样?
不然就只能做转义了