火狐并不支持 document.all
测试如下:
html代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Document.All Example</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<h1>Example Heading</h1>
<hr />
<p>This is a <em>paragraph</em>. It is only a <em>paragraph.</em></p>
<p>Yet another <em>paragraph.</em></p>
<p>This final <em>paragraph</em> has <em id="special">special emphasis.</em></p>
<hr />
<script type="text/javascript">
//alert(document.all.length); // Firefox下不支持
//alert(document.getElementById.length); //火狐下为1,谷歌下为0,IE下为未定义,反正都不为空。
alert(document.getElementsByTagName("*") .length); //都支持
</script>
</body>
</html>
输出情况,IE下18个,谷歌下17个,火狐不支持!!!
可以使用document.getElementsByTagName("*")得到所有元素啊!!!!
其中他们分别代表:
document.all.length=18
document.all[0]=!
document.all[1]=HTML
document.all[2]=HEAD
document.all[3]=TITLE
document.all[4]=META
document.all[5]=BODY
document.all[6]=H1
document.all[7]=HR
document.all[8]=P
document.all[9]=EM
document.all[10]=EM
document.all[11]=P
document.all[12]=EM
document.all[13]=P
document.all[14]=EM
document.all[15]=EM
document.all[16]=HR
document.all[17]=SCRIPT
得到17的是少了“!”
分享到:
相关推荐
解决 Firefox 不支持 document.all 的方法 在 Web 开发中,我们经常会遇到浏览器的兼容性问题,其中一个常见的问题就是 Firefox 不支持 document.all 对象。document.all 是一个遗留的对象,早期的 IE 浏览器支持它...
然而,Firefox并不直接支持`document.all`属性。但在某些情况下,Firefox对`document.all`做了兼容性的处理。如果JavaScript代码尝试访问`document.all`而没有指定特定的属性,Firefox会返回`undefined`或`false`,...
例如,Firefox自版本68开始已经废弃了该方法,而其他现代浏览器如Chrome、Edge也计划逐步弃用。这是因为该方法的实现不一致,且存在安全性和性能问题。因此,现代Web开发更倾向于使用更可靠的API,如Range API、...
它通过元素的名称或ID查找元素,但在非IE浏览器中并不支持,可能导致兼容性问题。 2. `getElementById()`: 这是DOM中最常用且推荐的查找元素方法,因为它基于元素的唯一ID查找,返回的是匹配ID的首个元素,如果不...
### Javascript的IE与Firefox(火狐)兼容性解决方案 在Web开发过程中,浏览器兼容性问题一直是开发者们关注的重点之一。由于不同的浏览器对于Web标准的支持程度存在差异,这导致了同样的代码在不同浏览器中的表现...
IE 支持 document.all,但是Firefox 不支持。解决方法是使用以下三个 tag 的其中一个来代替 document.all: * getElementsByTagName("tagName") 可以得到得到所有标签元素的集合 * getElementById("idName") 可以按...
Firefox 不支持 innerText 属性,而是支持 textContent 属性来实现 innerText 的功能。开发者可以使用 textContent 属性来代替 innerText 属性。 2. 禁止选取网页内容 在 IE 中,可以使用 js 代码 `obj....
- `document.all`:Firefox虽然兼容`document.all`,但会产生警告,建议使用`getElementById("*")`或`getElementsByTagName("*")`替代。 - `parentElement`:Firefox不支持`parentElement`,可以使用`parentNode....
// IE 或不支持 getElementsByClassName 的旧版 Firefox element.className = "newClass"; } else { // 支持 getElementsByClassName 的现代浏览器 element.classList.add("newClass"); } ``` 以上仅是部分IE与...
- IE支持`document.all`来获取所有元素,Firefox则不支持。应优先使用`document.getElementById`或`querySelector`等标准方法。 4. **input的type属性问题** - 不同浏览器对某些HTML5新类型的输入框支持不同,如`...
1. 在IE浏览器中可以使用`document.all`配合元素ID属性值来访问DOM节点,但在Firefox等其他浏览器中不支持此方法。标准的访问方式是使用`document.getElementById`、`document.getElementsByName`和`document....
- IE支持`document.all.month.value`,但Firefox要求使用`document.getElementsByName("month")[0].value`或`document.getElementById("month").value`。推荐使用`getElementById`以保持兼容性。 6. HTML对象ID...
- **Firefox**:不支持`eval`用于此目的。 - **统一解决方案**:推荐使用`document.getElementById`。 #### 二、事件处理差异 1. **事件对象**: - **IE**:使用全局变量`window.event`。 - **Firefox**:事件...
- **火狐中**,则不支持`document.all()`,需要使用`document.getElementById()`来获取指定ID的元素。 **解决方法:** 为了使代码具有更好的兼容性,推荐使用`document.getElementById()`、`querySelector`等标准...
在IE中,`document.all`属性可以用于访问页面上的任何元素,而Firefox不支持该属性。因此,在获取元素时,推荐使用`getElementsByName`和`getElementById`。需要注意的是,IE中`getElementsByName`可能返回多个同名...