我在表单中有一个元素,它们之间可能有很多元素。有一个变量指向我的元素,我想知道如何在变量中获得父窗体。找到包含元素的表单?
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