form的一个问题

本文探讨了如何通过JavaScript获取HTML表单内input和select元素,并对比了不同浏览器(Firefox、Chrome)对静态nodelist的处理方式。通过实例展示了在Chrome环境下动态修改nodelist元素属性后的行为变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天发现form标签内的input,select元素可以直接使用form.id,form.name的形式获取,比如:

<form id=r1><input id=r2 /><select name=r3 /></form>

可以使用以下的js代码获取input

var inputele = document.forms.r1.r2;

如果select的name属性值也为r2,那么inputele就是一个nodelist,存放input和select

然后这里有个问题,就是这个nodelist是静态的还是动态的?

在firefox里测试,发现firefox对这个的处理有点不明确,如下面的代码:

var inputele = document.forms.r1.r2;

inputele[0].id=r3;

inputele[0].name=r3;

alert(inputele.length);

如果nodelist是静态的,那么alert显示的值是2,如果是动态的,那么显示的值是0,但firefox显示的值是1...

在chrome里测试,alert显示的值是2

我比较认可chrome的做法,所以,就按chrome的来实现吧。

刚才看到一段话,比较有意思:

ie是我想有啥就有啥;
firefox是w3有啥我有啥;
chrome是w3和ie有啥我有啥;
opera是w3和ie有啥我想有啥就有啥...

我想我的应该是:

firefox和chrome有啥我能有啥就有啥...

转载于:https://www.cnblogs.com/BrowserCore/archive/2012/12/16/2820221.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值