如何获得拥有div的表单?

时间:2015-11-03 13:41:15

标签: javascript html forms

input元素不同,div元素只有"global attributes"。我有一个函数,我获取一个元素并将其数据与localStorage中存储的数据一起存储(因此我可以在同一存储空间中存储许多页面/表单):

function store(what) {
    var F = what.form;
    if (what.id.substr(0,3) == 'div') {
        localStorage.setItem(F.id+'.'+what.id,what.innerHTML);
    } else
        localStorage.setItem(F.id+'.'+what.name,what.value);
    }
}

问题是,由于divs没有form属性,是否有其他方法可以单独从元素中获取它?

1 个答案:

答案 0 :(得分:4)

假设您的意思是"包含",那么只需递归检查element.parentNode,直到找到表单元素或parentNodenull

function ancestorForm(element) {
    if (element === null || element.tagName.toLowerCase() === "form") {
        return element;
    } else {
        return ancestorForm(element.parentNode);
    }
}