Javascript jQuery推送给一个逗号
因此,我在js中使用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事件造成的 我怎样才能摆脱它
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"