我在表单中有一个元素,它们之间可能有很多元素。有一个指向我的元素的变量,我想知道如何在变量中获取父表单。
EG:
<form>
<div>
//Element
</div>
</div>
所以让var element
指向div内的元素,我怎样才能获得包含它的表单?
我想在找到一个表格之前想要绕过父母,但我想知道是否有更简单的方法。我怎样才能获得表单元素?
答案 0 :(得分:2)
这样做非常简单:
var lookup = element;
while(lookup && lookup.nodeName != "FORM") lookup = lookup.parentNode;
if( lookup) {
// lookup if your form
}
我在我的项目中有一个函数,称为&#34; findParent&#34;,它接受一个回调来测试该元素是否是我正在寻找的元素。
答案 1 :(得分:1)
使用HTML5,它将是
<input element>.form
HTML5 - 4.10 Forms
默认情况下,与表单相关的元素与其最近的祖先表单元素相关联(如下所述),但是,如果它是可重新关联的,则可以指定表单属性来覆盖此
答案 2 :(得分:0)
实现此功能的Javascript函数:
function ParentForm(element){
var parent = elem.parentNode;
if(parent && parent.tagName != 'FORM'){
parent = findParentForm(parent);
}
return parent;
}
var myForm = parentForm(myElement)