与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
属性,是否有其他方法可以单独从元素中获取它?
答案 0 :(得分:4)
假设您的意思是"包含",那么只需递归检查element.parentNode
,直到找到表单元素或parentNode
为null
。
function ancestorForm(element) {
if (element === null || element.tagName.toLowerCase() === "form") {
return element;
} else {
return ancestorForm(element.parentNode);
}
}