我在表單中有一個元素,它們之間可能有很多元素。有一個變量指向我的元素,我想知道如何在變量中獲得父窗體。找到包含元素的表單?
EG:
<form>
<div>
//Element
</div>
</div>
因此,有var element
指着裏面的div元素,我怎麼能得到包含它的形式?
我想循環父母直到找到一個表單,但我想知道是否有更簡單的方法。我怎樣才能獲得表單元素?
我在表單中有一個元素,它們之間可能有很多元素。有一個變量指向我的元素,我想知道如何在變量中獲得父窗體。找到包含元素的表單?
EG:
<form>
<div>
//Element
</div>
</div>
因此,有var element
指着裏面的div元素,我怎麼能得到包含它的形式?
我想循環父母直到找到一個表單,但我想知道是否有更簡單的方法。我怎樣才能獲得表單元素?
Javascript函數來實現這一點:
function ParentForm(element){
var parent = elem.parentNode;
if(parent && parent.tagName != 'FORM'){
parent = findParentForm(parent);
}
return parent;
}
var myForm = parentForm(myElement)
這是很簡單的做到這一點:
var lookup = element;
while(lookup && lookup.nodeName != "FORM") lookup = lookup.parentNode;
if(lookup) {
// lookup if your form
}
我有這個在我的項目的功能,被稱爲「findParent」,接受一個回調來測試,如果該元素是我要找的人。
隨着HTML5這將是
<input element>.form
HTML5 - 4.10 Forms
形狀相關聯的元件,默認情況下,與相關聯的它最近的祖先形式元素(如下所述),但是,如果它是reas可以有一個表單屬性指定來覆蓋這個
最簡單的方法是使用jQuery'.closest()'方法,它在純JavaScript中完全相同:在循環中向上查找樹並找到第一個匹配的元素。 – VisioN
我沒有使用jQuery。所以我應該循環到父母?謝謝 – lisovaccaro
正是如此。沒有其他方式我害怕。 – VisioN