0

我有 2 个表单嵌套在 2 个单独的 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 中的表单。有任何想法吗?

4

3 回答 3

1

使用:visible选择器:

小提琴

var form = $('div:visible form[name=form]');

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

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

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

于 2013-07-10T13:34:13.380 回答
0

有关可见选择器,请参阅jQuery文档。

于 2013-07-10T13:35:27.153 回答
0

您可以使用 :visible 正如 MrCode 提到的那样,但它也比仅仅慢

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

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

于 2013-07-10T13:38:46.297 回答