gpt4 book ai didi

javascript - 如何使用 jQuery 收集表单 ID

转载 作者:行者123 更新时间:2023-11-30 09:02:14 24 4
gpt4 key购买 nike

jQuery 选择器 $(".thumb_up") 返回如下形式的集合:

[<form id="like_post_78" ...</form> <form id="like_post_79"> ... </form>]

最终我想生成一个由表单 ID 的数字结尾部分组成的字符串。

"78,79"

获得此信息的最有效方法是什么?

最佳答案

最简单的方法可能是:

var form_ids = $('form').map(function(){return this.id.replace(/[a-z_]/gi,'');}).get().join(', ');
console.log(form_ids); // or alert() or whatever...

JS Fiddle demo .

我刚刚更新了上面的正则表达式部分,从 /[a-z_]/gi/\D/g(基本上是贪婪的(g) 将任何非数字字符 (\D) 替换为 'nothing'),得到以下代码:

var form_ids = $('form').map(function(){return this.id.replace(/\D/g,'');}).get().join(', ');
console.log(form_ids);

JS Fiddle demo .


编辑 在思考@James Hill 的准确观察(下方)最简单 != 最有效 之后:

keep in mind that the OP asks for the most efficient method, not the easiest.

因此,使用纯 JavaScript(据我所知,它应该可以跨浏览器使用):

var form_ids = [];
var forms = document.getElementsByTagName('form');
for (var i=0; i<forms.length; i++){
form_ids.push(forms[i].id.replace(/\D/g,''));
}
console.log(form_ids.join(', '));

JS Fiddle demo .

JS Perf 上对两者进行了比较,表明 JavaScript 倾向于 更快(这意味着它更高效,大概是因为它运行的是原生 JavaScript/ECMAscript,而不是抽象代码,然后 调用原生 JavaScript/ECMAscript...)).

引用资料:

关于javascript - 如何使用 jQuery 收集表单 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8319550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com