Javascript 使用document.getElementsbyName()获取数组的长度
嗨,我有一个这样的数组Javascript 使用document.getElementsbyName()获取数组的长度,javascript,Javascript,嗨,我有一个这样的数组 var i; for(i=0;i<10;i++){ $('<input/>').attr('type','text') .attr('name','TxtBx_[]') .attr('id','TxtBx_' + i) .attr("readonly","readonly") .attr('value',i
var i;
for(i=0;i<10;i++){
$('<input/>').attr('type','text')
.attr('name','TxtBx_[]')
.attr('id','TxtBx_' + i)
.attr("readonly","readonly")
.attr('value',i)
.addClass('txtbx')
.appendTo($div);
}
但当我发出警报检查numberofElements的值时,它总是给我0。数组的长度必须为10。有人能告诉我我犯的错误吗。试试看
$("input.txtbx").length;
只需使用类来获取它们:
var numberofElements = $('.txtbx').length;
因为没有元素具有名称
TxtBx
。实际上是TextBx[]
由于您一直在使用jQuery,您可以按如下所示的类查找
$('.txtbx')
.length
我想在这里补充几点
attr
也接受对象。因此,您可以一次传递所有输入。此外,您还可以在动态创建输入时将属性作为第二个参数传递。另外,根据jQuery文档,在动态创建它们时,您应该在input
type中指定type,否则在某些IE中它将不起作用
那么,试试这个
var i;
for(i=0;i<10;i++) {
$('<input type="text"/>',{
'name': 'TxtBx_[]',
'id': 'TxtBx_' + i,
'readonly':'readonly'
'value': i,
'class': 'txtbx'
}).appendTo($div);
}
vari;
对于(i=0;i元素的名称是TextBx[]
,而不是TxtBx
var myarr=document.getElementsByName('TextBx[]');
var numberofElements=myarr.length;
元素名是TextBx[]
,TxtBx\ux
是一个类名
var myarr=document.getElementsByName('TextBx[]');
var numberofElements=myarr.length;
阅读文档了解更多信息
var numberofElements = document.getElementsByName("TextBx[]").length;
文本框的名称是'Name','TxtBx_[]'
通过TxtBx_[]获取
var myarr=document.getElementsByName('TextBx[]');
var numberofElements=myarr.length;