Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery推送给一个逗号_Javascript_Jquery - Fatal编程技术网

Javascript jQuery推送给一个逗号

Javascript jQuery推送给一个逗号,javascript,jquery,Javascript,Jquery,因此,我在js中使用push推送对象 我正在将此对象附加到html中: var top = []; for (var i = 0; i < 1; i++) { var file= something[i]; top.push(file); }; jQuery('.place').append(top); 我猜这个逗号是由push事件造成的 我怎样才能摆脱它

因此,我在js中使用
push
推送对象

我正在将此对象附加到html中:

var top = [];

for (var i = 0; i < 1; i++) {                                                   
    var file= something[i];
    top.push(file);     
};

jQuery('.place').append(top);
我猜这个逗号是由
push
事件造成的

我怎样才能摆脱它

有什么建议吗


谢谢

您正在将字符串的
数组
传递给jQuery的
append
方法。只需先加入即可:

jQuery('.place').append(top.join(''));
在数组上调用
toString()
时(这是jQuery在这里尝试
append
字符串数组时所做的操作),它将每个数组元素强制转换为字符串,并在它们之间放置逗号:

[1,2,3].toString(); //"1,2,3"
[{a:"b"},2,3].toString(); //"[object Object],2,3"

首先,使用
top
作为变量名似乎有问题,所以我将其改为top1

理论: 根据需要,您可以传递DOM元素数组或字符串(或其他东西,但它们与问题无关)。您似乎传递了一个字符串数组,它不是DOM元素数组,因此它正在被字符串化,数组的字符串化在元素之间有逗号。我很确定你在它们前面还有一个“[”,后面有一个“]”

练习:嗯,我似乎没有重现你的问题(至少在Chrome、FF、Safari中):

var-top1=[];
对于(var i=0;i<2;i++){
var file=“某物[i]”;
top1.推送(文件);
}
$('#place')。追加(top1)


我也考虑过这一点,但你可以附加一个数组:@Gavriel-OP没有传递一个节点数组(jQuery接受),它是一个字符串数组,这就是逗号的原因。与push无关<代码>变量x=[1,2];log(x.toString())
[1,2,3].toString(); //"1,2,3"
[{a:"b"},2,3].toString(); //"[object Object],2,3"