要实现Html中特殊字符不被转义(源码输出),有以下三种方法:方法一:
(推荐教程:html教程)
将HTML代码嵌入到<script type='text/html' style='display:block'></scipt>中
<script type='text/html' style='display:block'> <input type=text /> </scipt>
举例:
body> <pre> <script type=text/html style=display: block;> <div>哈哈哈</div> <h4>dfdfd</h4> </script> </pre> </body>
方法二:
有时候想让一些html的标签不被浏览器解释翻译,直接原样的显示出来,这时可以在想要显示的代码的外面加上<xmp></xmp>,这样<xmp>标签里面的内容将原封不动的显示出来。
<xmp> <table> <tr> <th width=140>a</td> <th width=140>b</td> <th width=140>c</td> </tr> </table> </xmp>
方法三:
动态创建html时,有时需要某些内容源码显示,不进行html解析:
1、input和textarea通过js设置value值,不会对特殊字符(")进行html解析
2、input和textarea直接写在value,会对特殊字符(")进行html解析
3、input和textarea通过jquery设置value值,不会对特殊字符(")进行html解析
4、通过js或者jquery创建input和textarea,直接通过字符串拼接value,会对特殊字符(")进行html解析
5、通过js或者jquery创建input和textarea,通过js或者jquery设置value,不会对特殊字符(")进行html解析6.通过js或者jquery创建textarea,通过js(innerHTML)或者jquery(html())设置value,会对特殊字符(")进行html解析7.js或者jquery添加script需要特殊处理,并且type='text/html'代表源码输出,不及进行html解析渲染
举例:
<!DOCTYPE html> <html> <head> <Meta charset=utf-8> <title>菜鸟教程(runoob.com)</title> <script src=https://cdn.staticfile.org/jquery/1.8.3/jquery.min.js></script> <script> $(function() { //1.input和textarea通过js设置value值,不会对特殊字符(")进行html解析 document.getElementById(t1).value="; document.getElementById(t2).value="; alert(t1: + document.getElementById(t1).value);//" alert(t2: + document.getElementById(t2).value);//" //2.input和textarea直接写在value,会对特殊字符(")进行html解析 alert(t3: + document.getElementById(t3).value);// alert(t4: + document.getElementById(t4).value);// //3.input和textarea通过jquery设置value值,不会对特殊字符(")进行html解析 $(#t5).val("); $(#t6).val("); alert(t5: + $(#t5).val());//" alert(t6: + $(#t6).val());//" var str = "; //4.通过js或者jquery创建input和textarea,直接通过字符串拼接value,会对特殊字符(")进行html解析 var t9 = 't10<textarea id=t9>' + str + '</textarea><br><br>'; $(#div1).append(t9); alert(t10: + $(#t10).val());// //5.通过js或者jquery创建input和textarea,通过js或者jquery设置value,不会对特殊字符(")进行html解析 var t10 = 't10<textarea id=t10></textarea><br><br>'; $(#div1).append(t10); $(#t10).val(str); alert(t10: + $(#t10).val());//" //6.通过js或者jquery创建textarea,通过js(innerHTML)或者jquery(html())设置value,会对特殊字符(")进行html解析 var t11 = 't11<textarea id=t11></textarea><br><br>'; $(#div1).append(t11); $(#t11).html(str); alert(t11的text: + $(#t11).text());// alert(t11的val: + t11.val()= + $(#t11).val());// //7.js或者jquery添加script需要特殊处理,并且type='text/html'代表源码输出,不及进行html解析渲染 $(#div1).append(<script type='text/html' style='display:block' +> + "</ + script>); }); </script> </head> <body> t1<input type=text id=t1 value=/><br><br> t2<textarea id=t2></textarea><br><br> t3<input type=text id=t3 value="/><br><br> t4<textarea id=t4>"</textarea><br><br> t5<input type=text id=t5 value=/><br><br> t6<textarea id=t6></textarea><br><br> <div id=div1></div> </body> </html>