我试图在某个 div 中获取所有输入元素,但它似乎返回任何给定页面上的所有输入......有没有办法做到这一点?
if($('#umi-form')) {
var inputs = document.getElementsByTagName('input');
}
我试图在某个 div 中获取所有输入元素,但它似乎返回任何给定页面上的所有输入......有没有办法做到这一点?
if($('#umi-form')) {
var inputs = document.getElementsByTagName('input');
}
可以这样做:
var $inputs = $('#umi-form input');
您的if()
测试将始终评估true
。您应该使用length
.if()
var uform = $('#umi-form');
if(uform.length) {
var inputs = uform.find('input');
}
如果您希望获得 anodeList
而不是 jQuery 对象,请执行以下操作:
var uform = $('#umi-form');
if(uform[0]) {
var inputs = uform[0].getElementsByTagName('input');
}
document.getElementsByTagName( 'input' );
将获得( "page" )input
中的所有 s 。同时document
document.getElementById( 'umi-form' ).getElementsByTagName( 'input' );
将得到所有的input
s #umi-form
。
在这种情况下,调用getElementsByTagName
是在句点之前的元素上。如果我们在页面上调用它,我们将获得页面document
上带有命名标签的所有元素。如果我们在 的子元素上调用它,那么我们只会从该子元素中获取带有命名标签的元素。document
您将始终获得调用该方法的元素内的所有带有命名标记的元素。但是,如果您只想获得其中一个,请使用
target_element.getElementsByTagName( 'tag-name' )[ index ];
其中index
是返回的范围内的整数length
,通过
target_element.getElementsByTagName( 'tag-name' ).length;
由于 jQuery 是一个 JavaScript 库,因此建议在尝试使用 jQuery IMO 之前对 JS 有一个很好的了解。