插入标记

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>

IE8以前,<title>元素没有innerHTML属性

猜你喜欢

转载自www.cnblogs.com/jokes/p/9541715.html