我想获得某个div内的所有输入元素,但它似乎返回任何给定页面上的所有输入...有没有办法做到这一点?jquery - 在特定的div中通过标记获取元素?
if($('#umi-form')) {
var inputs = document.getElementsByTagName('input');
}
我想获得某个div内的所有输入元素,但它似乎返回任何给定页面上的所有输入...有没有办法做到这一点?jquery - 在特定的div中通过标记获取元素?
if($('#umi-form')) {
var inputs = document.getElementsByTagName('input');
}
你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');
}
这是可以做到这样的:
var $inputs = $('#umi-form input');
document.getElementsByTagName('input');
会得到所有的input
S IN document
(“page”)。虽然
document.getElementById('umi-form').getElementsByTagName('input');
会得到所有的input
S IN #umi-form
。
在这种情况下,getElementsByTagName
的调用位于元素之前的期间。如果我们在document
上调用它,我们将获得页面上带有指定标记的所有元素。如果我们在document
的子元素元素上调用它,那么我们只从该子元素中获取具有指定标记的元素。
您将始终获取名为标记的所有元素,该元素位于调用方法的元素之内。然而,如果你想获得他们的只有一个,使用
target_element.getElementsByTagName('tag-name')[ index ];
其中index
是返回length
的范围内,这与
target_element.getElementsByTagName('tag-name').length;
获得内整数由于jQuery是一个JavaScript库,建议在尝试使用jQuery IMO之前了解JS。