我有一个像这样的jquery选择:
elements= $($('#mytab').find('form').attr('elements')).not('button');
// access elements by name
elements['id']=1;
显然不起作用:(
我需要jquery将集合作为HtmlCollection返回,例如
$('#mytab').find('form').attr('elements')
我的问题是,是否有任何可用的功能,例如toArray()等 将集合作为HtmlCollection返回,而不是jquery数组/对象集合? 我的主要目标是按名称而不是索引访问表单元素,例如
elements['id'], elements['name']
Html Form elements
元素周围有很多混乱。 elements是html form
对象的属性,它是form
答案 0 :(得分:1)
elements
属性不是属性,您应该使用prop
方法:
var elements = $('#mytab').find('form').prop('elements');
或:
var elements = $('#mytab').find('form')[0].elements;
好吧,如果你想过滤输入元素,你可以使用get
方法,不需要使用elements
属性:
var elements = $('#mytab form input').get();
答案 1 :(得分:0)
是的,有:
$.makeArray($('div'));
这将返回页面上所有div
元素的数组。显然,你可以使用你想要的任何选择器。
要按名称获取元素数组,只需使用原生JS:
document.getElementsByName('myFormElementName');