将jQuery选择器与dom元素一起使用

将jQuery选择器与dom元素一起使用,dom,object,jquery-selectors,parameter-passing,Dom,Object,Jquery Selectors,Parameter Passing,我有一个javascript函数,它接收dom元素作为参数。在这个函数中,我试图找到最近的祖先“形式”。我想用: function submit_form(obj) { var form1 = $(obj).closest("form"); alert (form1.id); } 这里obj是提交类型的dom元素。我就是没法让它工作。 有人能帮忙吗 你想要什么 function submit_form(obj) { var form1 = $(obj).closest(

我有一个javascript函数,它接收dom元素作为参数。在这个函数中,我试图找到最近的祖先“形式”。我想用:

function submit_form(obj)
{
    var form1 = $(obj).closest("form");
    alert (form1.id);
}
这里obj是提交类型的dom元素。我就是没法让它工作。
有人能帮忙吗

你想要什么

function submit_form(obj)
{
    var form1 = $(obj).closest("form")[0];  
    alert (form1.id);
}
jQuery选择/遍历函数的结果总是一个数组,可能只有一个元素,但仍然是一个数组。索引到数组中以获取实际的DOM元素

但是,只要
obj
是输入/选择/文本区域元素,就可以在没有jQuery的情况下执行此操作

function submit_form(obj)
{
    var form1 = obj.form;  
    alert (form1.id);
}
为了完整性,您还可以留在jQuery中

function submit_form(obj)
{
    var $form1 = $(obj).closest("form");
    alert ( $form1.attr("id") );
}
这样使用它

var closestForm = closest(obj, 'FORM')

form1
将是一个jQuery对象,因此您可以使用
.attr(“id”)
,或者使用
[0]访问DOM元素本身

var form1 = $(obj).closest("form");
alert(form1.attr("id"));

var form2 = $(obj).closest("form")[0];
alert(form2.id);

你真是个天才!!谢谢;)我必须再等3分钟才能把这个答案标记正确!!!
var form1 = $(obj).closest("form");
alert(form1.attr("id"));

var form2 = $(obj).closest("form")[0];
alert(form2.id);