我想獲得某個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。