首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在JavaScript中查找元素所属的表单

在JavaScript中查找元素所属的表单
EN

Stack Overflow用户
提问于 2009-01-21 13:38:00
回答 5查看 18.2K关注 0票数 13

如何使用简单/少量的JavaScript找出包含HTML元素的表单?在下面的示例中,如果我已经获得了名为“message”的跨度,我如何才能轻松地访问表单元素?

代码语言:javascript
复制
<form name="whatever">
    <div>
        <span id="message"></span>
    </div>
</form>

跨度可能嵌套在其他表或DIVs中,但它似乎太过冗长,无法遍历.parentElement并沿着树向上工作。有没有更简单、更快捷的方法?

如果它不是SPAN,而是一个INPUT元素,会不会更简单?它们是否有指向包含表单的属性?谷歌说不。

EN

回答 5

Stack Overflow用户

发布于 2011-04-11 21:34:15

为什么不直接使用:

代码语言:javascript
复制
var nodesForm = node.form;

?它适用于FF3,FF4,谷歌chrome,Opera,IE9 (我自己测试过)

票数 9
EN

Stack Overflow用户

发布于 2009-01-21 13:42:52

我想你必须遍历所有的元素。您可以尝试使用jQuery:

代码语言:javascript
复制
$("input").parent("form")

http://docs.jquery.com/Traversing/parent#expr

票数 7
EN

Stack Overflow用户

发布于 2009-01-21 13:42:14

您可以在DOM树中回溯,直到到达正确的节点:

代码语言:javascript
复制
node = document.getElementById("message");
while (node.nodeName != "FORM" && node.parentNode) {
    node = node.parentNode;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/465325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档