jquery / javascript从string声明变量

时间:2013-11-14 16:15:45

标签: javascript jquery

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

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

3 个答案:

答案 0 :(得分:2)

试试这个看看是否有效:

   $('input').each(function(){
        window[this.id] = this.value;
    });

答案 1 :(得分:1)

$('input').each(function(){ 
   window[this.id]=this.value;
});

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

答案 2 :(得分:0)

这是一个没有任何jQuery的解决方案。简单的旧Javascript。 Way faster,更容易阅读,没有缺点。 Jeez,为什么所有人在获得基础知识之前就开始学习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;
}