在警告框中转储jQuery对象

37

我不太擅长使用jQuery,但是有一个程序没有文档传递给我需要进行调试。

我有一个对象变量a,我真的想知道它的内容。在我的脑海中,我需要一个函数像PHP中的foreach()函数来遍历这个对象变量。在研究后,我发现可以使用jQuery.each()。现在我可以清楚地迭代并查看a变量中的内容。

但是,每次弹出警报框都很烦人。我想知道是否可能仅在一个警报框中显示所有内容?

以下是我的代码:

$.each(a, function(index, value) { 
alert(index + ': ' + value); 
});

变量a包含诸如以下信息:

creationdate: date_here
id: SWFUpload
modificationdate: date_here
type: .jpg
index: 0
name: uploaded_filename.jpg
size: size_in_bytes

顺便说一下: 变量a是通过文件上传脚本调用的。


1
你可以使用 stringfyconsole.log() - xkeshav
你能展示一下 a 有什么吗? - xkeshav
如我所述,它是一个对象。感谢@diEcho的一贯回复。 - planet x
2个回答

43

你为什么不将值累加到数组中,然后显示整个数组(例如使用JSON)? 示例:

var acc = []
$.each(a, function(index, value) {
    acc.push(index + ': ' + value);
});
alert(JSON.stringify(acc));

无论如何,我建议使用像Firebug这样的调试工具。这样你就可以只使用console.log(a)并能够自由地浏览对象的字段。


太好了,正是我想要的。虽然输出看起来有点像乱码,但还是可以的。谢谢! - planet x
2
很难获得控制台,即当您在真实设备上调试iOS7移动应用程序时,因此这很有帮助。 - EralpB

30

在Firefox中,你可以尝试:


alert(yourObject.toSource());

或者你可以使用一些插件:参见:jQuery Dump Plugin


关于 jQuery Dump 插件的建议很棒。 - planet x
1
不错!我完全不知道在FF中有toSource()。+1 - Yes Barry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接