如何使用简单/少量的JavaScript找出包含HTML元素的表单?在下面的示例中,如果我已经获得了名为“message”的跨度,我如何才能轻松地访问表单元素?
<form name="whatever">
<div>
<span id="message"></span>
</div>
</form>
跨度可能嵌套在其他表或DIVs中,但它似乎太过冗长,无法遍历.parentElement并沿着树向上工作。有没有更简单、更快捷的方法?
如果它不是SPAN,而是一个INPUT元素,会不会更简单?它们是否有指向包含表单的属性?谷歌说不。
发布于 2011-04-11 21:34:15
为什么不直接使用:
var nodesForm = node.form;
?它适用于FF3,FF4,谷歌chrome,Opera,IE9 (我自己测试过)
发布于 2009-01-21 13:42:52
发布于 2009-01-21 13:42:14
您可以在DOM树中回溯,直到到达正确的节点:
node = document.getElementById("message");
while (node.nodeName != "FORM" && node.parentNode) {
node = node.parentNode;
}
https://stackoverflow.com/questions/465325
复制相似问题