IE系列:
创建元素一般使用document.createElement(tagName);
但是IE7及更早版本动态创建元素会有一些问题,如下:
1. 不能设置动态创建的<iframe>元素的name属性
2. 不能通过表单的reset()方法重置动态创建的<input>元素
3. 动态创建的type属性值为reset的<button>重置不了表单
4. 动态创建的一批name相同的单选按钮彼此毫无关系
为此,IE可以用另一种方式使用createElement方法(仅限IE),举个例子:
IE的children会包含注释节点
IE和Opera的innerHTML返回的标签都是大写的
IE6/7/8:
'\xA0' == ' ' 和 /\s/.test('\xA0')等于false
'\xA0' 等价于 '\u00A0'
FF系列:
只有FF不支持children
FF不支持contains()方法,但FF在DOM3级实现中提供了一个替代的compareDocumentPosition()方法(opera9.5及更高版本也支持该方法)
FF不支持innerText,但支持textContent
创建元素一般使用document.createElement(tagName);
但是IE7及更早版本动态创建元素会有一些问题,如下:
1. 不能设置动态创建的<iframe>元素的name属性
2. 不能通过表单的reset()方法重置动态创建的<input>元素
3. 动态创建的type属性值为reset的<button>重置不了表单
4. 动态创建的一批name相同的单选按钮彼此毫无关系
为此,IE可以用另一种方式使用createElement方法(仅限IE),举个例子:
// 创建单选按钮
var radio1 = document.createElement('<input type="radio" name="choice" value="1"/>');
var radio2 = document.createElement('<input type="radio" name="choice" value="2"/>');
IE的children会包含注释节点
IE和Opera的innerHTML返回的标签都是大写的
IE6/7/8:
'\xA0' == ' ' 和 /\s/.test('\xA0')等于false
'\xA0' 等价于 '\u00A0'
FF系列:
只有FF不支持children
FF不支持contains()方法,但FF在DOM3级实现中提供了一个替代的compareDocumentPosition()方法(opera9.5及更高版本也支持该方法)
FF不支持innerText,但支持textContent