首页 > 代码库 > DOM 扩展

DOM 扩展

1. 呈现模式

document.compatMode == "CSS1Compat"; 标准模式

document.compatMode == "BackCompat"; 混合模式

if(document.compatMode == "CSS1Compat"){    return "SATAND";}else{    return "Quirks";}

2. 操作内容

a. innerText

设置和获取文本节点字符串

IE、Safari、Opera、Chrome支持innerText属性

FireFox 支持textContent属性

utils.getInnerText = function(element){		return (typeof element.textContent == "string") ? element.textContent:element.innerText;	}	utils.setInnerText = function(element,text){		if(typeof element.textContent == "string")			element.textContent = text;		else			element.innerText = text;	}

b. innerHTML

设置文本几点字符串是和innerText 一样

通过innerHTML 插入<script> IE支持,但是必须设置 defer特性,但是必须添加作用域元素

div.innerHTML = "_<script defer> alert();</scr"+"ipt>";  // 多出一个_ 文本节点

div.innerHTML = "<input type=\"hidden\"><script defer>alert();</scr" + "ipt>"; // 使用隐藏的<input>字段,而且不影响页面布局。

插入<style>

//Opera Firefox iediv.innerHTML = "_<style type=\"text/css\">body {background-color:red;}</style>";div.removeChild(div.firstChild);//safari chormedocument.getElementsByTagName("head")[0].appendChild(div.firstChild);

 

Opera Firefox ie 需要一个前置作用域,添加完删除第一个文本节点。
safari chorme 必须将style 元素放到head中,否则会忽略它

不支持innerHTML的元素有

[<col>、<colgroup>、<frameset>、<head>、<html>、<style>、<table>、<tbody>、<thead>、<tfoot>、<title>、<tr>]

DOM 扩展