1、innerHTML
innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。
但是不同的浏览器返回的字符串不一样
使用innerHTML属性也有限制:
在大多数浏览器中innerHTML插入<script>标签并不会执行其中的脚本,但是在IE8更早的版本只要满足在
1、<script defer></script> 有defer属性
2、<script>标签必须在块级元素之后,<script>被认为是‘无作用域的元素’,也就是在页面中看不到元素,与<style>元素和注释一样
div.innerHTML = "_<script defer>console.log(1);<\/script>";//在<script>前添加一个文本元素 div.innerHTML = "<div></div><script defer>console.log(1);<\/script>";//添加块级元素 div.innerHTML = "<input type=\"hidden\"><script defer>console.log(1);<\/script>";//或添加input,隐藏的input不影响布局
标准浏览器下不能执行
<style>标签也不是一个没有作用域的标签,因此必须在前面添加一个有作用域的的元素即块级元素
并不是所有的元素支持innerHTML的元素:
<col> <colgroup> <framset> <head> <html> <style> <table> <tbody> <thead> <tfoot> <tr>
扫描二维码关注公众号,回复:
2900448 查看本文章
IE8以前,<title>元素没有innerHTML属性