1,IE起作用,Firefox不工作

IE版本
复制代码代码如下所示:


功能检查(STR) / /选择控制JS
{
创建一个document.getelementsbyname(STR);
var n = a.length;

对于(var i = 0;i <;n;+ +)

{

一个{ } = window.event.srcelement.checked检查我;

}

}



Firefox版本
复制代码代码如下所示:


功能检查(STR) / /选择控制JS
{
创建一个document.getelementsbyname(STR);
var n = a.length;
对于(var i = 0;i <;n;i + +){
一个{我}。检查= document.getelementbyid()。检查;
}
}



原因分析:window.event只能运行在IE,所以JS不工作在Firefox,Firefox版本直接选择去获得ID =所有复选框,然后分配给每个项目的名称= STR复选框组,使选定的状态可以保持同步。

2者之间的差异,document.getelementbyid()和()document.getelementsbyname

上面的js用两种方式获得复选框的状态。就名字而言,它们的功能应该相似。一个通过id获取元素,一个通过名称获取元素,但是这两个方法是不同的。如果你在使用过程中不注意它,他们可能会觉得它们混在一起,会造成麻烦。我觉得同时使用一个是好的,但是在改变名字之后,js代码就不起作用了。实际上是因为我不明白,这是不对的。

(1)document.getelementbyid()是通过ID访问特定的元素,因为我在一个页面中是独一无二的,所以这个函数返回一个元素。

(2)(文档。getelementsbyname)是访问元素的名称,因为名称不是唯一的,在一个页面可以是相同的,所以这个函数返回的是一组元素

这是因为一个元素是一个,另一个是数组,这样就犯了一个错误,你不注意的时候JS。例如,当我把一个{我}。检查= document.getelementbyid()。检查;修改了{我}。检查= document.getelementsbyname(所有)。检查;当js操作不工作(但不是因为JS错误,错误的感觉是没用的,它不是真实的)这里不承认,因为在正确的打电话的时间,写的是{我}。检查= document.getelementsbyname { 0 }。检查();经过这样的变化,同样的效果。因为只有一个名称=所有复选框在我们的网页,所以我们采取{ 0 }获得要素的第一要素,这是我们通过一个{我}的元素。检查= document.getelementbyid(所有)。检查。