Javascript 使用变量(名称)将数组推送到变量(数组)

Javascript 使用变量(名称)将数组推送到变量(数组),javascript,jquery,Javascript,Jquery,这是我的密码: var abcd=[],efgh=[],ijkl=[],mnop=[]; $('input[type=checkbox]:checked').each(function() { $(this).attr('name').push($(this).attr('value')); //it's not working abcd.push($(this).attr('value')); //it's working }); $(this).attr('name')将返

这是我的密码:

var abcd=[],efgh=[],ijkl=[],mnop=[];
$('input[type=checkbox]:checked').each(function() {
    $(this).attr('name').push($(this).attr('value')); //it's not working
    abcd.push($(this).attr('value')); //it's working
});
$(this).attr('name')
将返回
abcd
,但
push()
不起作用


为什么??欢迎任何帮助。谢谢。

您可能需要连接字符串。更改此项:

$(this).attr('name').push($(this).attr('value'));
为此:

var newName = $(this).attr('name') + ' ' + $(this).attr('value');
$(this).attr('name', newName);

如注释中所述,
push
用于数组,
attr
返回字符串。因此,您需要手动连接这些值,并再次使用
attr
方法进行设置。

var abcd[]、efgh[]、ijkl[]、mnop[]这不是有效的语法。。。另外,
attr
返回一个字符串,您不能
push
到字符串…@sandeep,push只对数组有效,
attr
函数返回字符串而不是数组。你需要把问题弄清楚。
var abcd[]=”,efgh[]=”,ijkl[]=”,mnop[]=”仍然无效语法
var abcd=[]
这是如何在javascriptOK中创建数组的,现在您已经修复了可怕的语法错误,剩下的唯一错误是前两条注释所建议的-
$(this)。attr('name')
返回字符串。。。字符串没有push方法