我希望遍历页面上的所有输入,并使用id作为名称为每个输入声明一个变量。这就是我没有成功的尝试
$('input').each(function(){
eval( 'var'+$(this).attr('id')+'='+$(this).val());
});
答案 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;
}