遍历 jquery 中的嵌套表单元素
很抱歉,如果这已经发布了,我一直在寻找无济于事。
我只是想知道如何循环嵌套表单“元素”(元素不仅是像输入标签这样的严格表单元素,而且还有其他 html 元素) jquery。 目前我有这段代码可以做到这一点:
$('#'+arguments[i].formid).children().each(function(){
var child = $(this);
alert(child.attr('id'));
if(child.is(":input")) { alert(child.attr('id'));
if(child.attr('id')!='') eval("p."+child.attr('id')+"='"+child.attr('value')+"'");
}
if(child.is(":textarea")) {
if(child.attr('id')!='') eval("p."+child.attr('id')+"='"+child.attr('value')+"'");
}
});
当我的表单包含这样的其他元素时,它不起作用:
<form>
<div id='tabs'>
<ul>...</ul>
<div id='tab-1'>
<input type='text' id='fname' />
<textarea id='desc' ></textarea>
</div>
</div>
</form>
请帮忙...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用 contents() (并根据需要过滤掉文本节点)或 find('*') 来获取所有元素,尽管我不喜欢使用通配符。
或者
You can use contents() (and filter out text nodes if needed) or find('*') to get all elements, though I dislike the use of wildcards.
or
您可以在递归函数中做到这一点。
编辑:我刚刚弄清楚,你想要做什么,你可以将其分解为这个
你可能应该阅读更多有关 jQuery 选择器。
You can do that in a recursive function.
EDIT: I just figured out, what you are trying to do and you can break it down to this
You should probably read more about jQuery selectors.
回来纠正自己:) jQuery 很棒!
因此,在速成课程之后,jQuery 中的内容是相同的...
这里是 css,以防有人想使用它...
Came back to correct myself :) jQuery Rocks!
So after a crash course here is the same thing in jQuery ...
And here is the css in case anyone wants to make use of it ...
不知道您是否需要 jQuery,请参阅下面的 domIterator 示例...
Dunno if you need the jQuery, see domIterator example below ...