2011-11-15 4 views
8

を返す$(this).data("events");を返すと、実際に何が起こっているのかを確認する必要があります。オブジェクトの内容を表示する - JS/jQuery

var Finder = ""; 
$.each($(this).data("events"), function(i, n){ 
    Finder += "Name: " + i + ", Value: " + n + " | "; 
}); 

しかし、nはまだ[object Object]返します:私はこれを見つけた

EDIT:(出力) -

Name: click, Value: [object Object] | 

- すべてを表示するための効率的な方法が

ありますその吸盤の中に、print_rのような種類のPHP?

答えて

15

console.log($(this).data("events"))のChrome(または他のブラウザ)では、オブジェクトにドリルすることができます。

Ctrl + Shift + Jを押すとChromeのコンソールに移動します。

+0

私はうまくいくでしょう、ありがとう! :)私はタイマーで受け入れるでしょう。 – Matt

12

.toSource()を使用すると、JavaScriptオブジェクトをFirebugやChrome Devのような素晴らしいエラーコンソールなしで表示できる文字列表現にすることができます。ツール:

alert($(this).data("events").toSource()); 
+1

私はあなたに 'toString()'があったのを見ました。これは実際にはより良い解決策でした。なぜなら、 'toSource()'がIEでは動作しないような大部分のブラウザではうまくいくからです。 –

+0

私は 'toString()'と 'toSource()'の違いを説明できないので、私はほとんど私の答えを削除しました。 – Jasper

+1

私が理解しているところから、 'toSource()'は 'object'を' JSON'の書式に変換します。 W3C: "toSource()メソッドは、オブジェクトのソースコードを表します。" (http://www.w3schools.com/jsref/jsref_toSource_date.asp) 'JSON'の出力が本当に重要なキーのようです。 – Matt

3

あなたはalert($(this).data("events").toSource())も使用することができ、その後console.logを使用できない場合。オブジェクトの

1

印刷コンテンツ、あなたは以下のようにコンソールに結果を見ることができます

console.log(obj_str); 

を使用することができます。

Object {description: "test"} 

オープンコンソールの場合、クロムブラウザでF12キーを押すと、デバッグモードでコンソールタブが表示されます。

関連する問題