我试图获取某个div中的所有输入元素,但它似乎返回了任何给定页面上的所有输入……有没有办法做到这一点?
if($('#umi-form')) {
var inputs = document.getElementsByTagName('input');
}
发布于 2010-12-14 19:21:24
您的if()
测试将始终评估true
。您应该在if()
中使用length
属性。
var uform = $('#umi-form');
if(uform.length) {
var inputs = uform.find('input');
}
如果您希望获得nodeList
而不是jQuery对象,请执行以下操作:
var uform = $('#umi-form');
if(uform[0]) {
var inputs = uform[0].getElementsByTagName('input');
}
发布于 2010-12-14 19:18:19
可以这样做:
var $inputs = $('#umi-form input');
发布于 2016-03-17 08:16:42
JavaScript优先...
document.getElementsByTagName( 'input' );
将获得document
(“input
”)中的所有页面。同时
document.getElementById( 'umi-form' ).getElementsByTagName( 'input' );
将获得#umi-form
中的所有input
。
在本例中,对句点之前的元素调用getElementsByTagName
。如果我们在document
上调用它,我们将获得页面上带有命名标记的所有元素。如果我们在document
的子元素上调用它,那么我们只能从该子元素中获得带有命名标记的元素。
您将始终获得带有命名标记的所有元素,这些元素位于调用该方法的元素中。但是,如果您只想获得其中的一个,请使用
target_element.getElementsByTagName( 'tag-name' )[ index ];
其中,index
是返回的length
范围内的整数,通过
target_element.getElementsByTagName( 'tag-name' ).length;
由于jQuery是一个JavaScript库,因此在尝试使用jQuery IMO之前最好先对JS有一个很好的了解。
https://stackoverflow.com/questions/4443202
复制相似问题