Javascript 在两个表单中,选择jquery活动div中的表单

Javascript 在两个表单中,选择jquery活动div中的表单,javascript,jquery,forms,Javascript,Jquery,Forms,我有两个表单嵌套在两个单独的div中,如下所示: <div id="div1" style="display:block"> <form name="form"> </div> <div id="div2" style="display:none"> <form name="form"> </div> 表单基本上位于选项卡内,因此当您切换选项卡时,div将变为活动状态,表单也将变为活动状态。另一个di

我有两个表单嵌套在两个单独的div中,如下所示:

<div id="div1" style="display:block">
    <form name="form">
</div>

<div id="div2" style="display:none">
    <form name="form">
</div>

表单基本上位于选项卡内,因此当您切换选项卡时,div将变为活动状态,表单也将变为活动状态。另一个div将其样式属性更改为
style=“display:none”
,表单将变为非活动状态。现在我正在尝试选择活动div中的表单。有什么想法吗?

使用选择器:

如果您想要表单HTML而不是对象:

var formHTML = $('<div>').append($('div:visible form[name=form]').html()).html();
var formHTML=$('').append($('div:visible form[name=form]').html()).html();

这是选择包含在可见div中的表单,然后获取表单外部HTML。

请参阅文档中的可见选择器。

您可以使用:visible,正如MrCode所述,但它也比

 var form = $('#div2 > form');

因此,如果您在代码中知道哪个div id处于活动状态,我会这样做。

非常感谢!这几乎就是我想要的。我需要将其作为表单元素本身返回,如下所示:
。在现有脚本中,它是这样做的:
eval('document.theFormName')
;你想要表单HTML而不是对象?是的,我想要。我正在修改一个旧的脚本,我不想把它搞得太糟。但我只想要第一行。所以不是里面的东西between@Ortix92你说的第一行是什么意思?整个表单可以放在一行上。你想要第一行,还是仅仅是开始表单标签或其他什么?最后一部分会破坏整个表单:)我希望它返回表单本身的第一行,而不是返回一个对象:
,就是这样。就第一行。使用jQuery可以做到这一点吗?document.formName就是我说的
 var form = $('#div2 > form');