1

我希望遍历页面上的所有输入,并使用 id 作为名称为每个输入声明一个变量。这是我尝试过但没有成功的方法

$('input').each(function(){
    eval( 'var'+$(this).attr('id')+'='+$(this).val());
});
4

3 回答 3

2

试试这个看看这是否有效:

   $('input').each(function(){
        window[this.id] = this.value;
    });
于 2013-11-14T16:18:44.057 回答
1
$('input').each(function(){ 
   window[this.id]=this.value;
});

由于所有变量都是窗口的对象,因此您可以像这样启动变量

于 2013-11-14T16:19:47.827 回答
0

这是一个没有任何 jQuery 的解决方案。普通的旧 Javascript。方式更快,更容易阅读,没有缺点。天啊,为什么所有人都在掌握基础知识之前就开始学习 jQuery?

var inputs = document.getElementsByTagName('input');
for (var i = 0 ; i < inputs.length ; i++ ) {
    window[inputs[i].id] = inputs[i].value;
}

在所有 majot 浏览器的最新版本中,您可以使用querySelectorAll(). 它更灵活,但几乎和 jQuery 一样慢。

var inputs = document.querySelectorAll('input');
for (var i = 0 ; i < inputs.length ; i++ ) {
    window[inputs[i].id] = inputs[i].value;
}
于 2013-11-14T16:31:11.070 回答