14

コンソールログにjqueryオブジェクトを記録すると、たとえば.

var s = $("#item");
console.log(s);

私はこのようなものを手に入れます

[div#item, context: document, selector: "#item", jquery: "1.9.1", constructor: function, init: function…]

以前(1か月ほど前)、次のようなものが得られたことを覚えています:

 [<div id="item">pas</div>]

これはChrome自体の変更ですか?それともjqueryに変更がありましたか?または、実際に出力の見た目を変えるために何かをしました

この 2 番目の出力は非常に読みやすく、これにカーソルを合わせてページ上にマークを付けることができます。情報が多すぎて読みにくい

4

7 に答える 7

1

お気づきだと思いますが、コンソールで jQuery オブジェクトを評価することと、それを で表示することの違いですconsole.log()。David Thomas のfiddleconsole.logを使用して、ステートメントにブレークポイントを設定します。ブレークポイントで停止したら$s、コンソールに入力すると表示されます

[<div id="item">pas</div>]

次に続行すると、 によって出力された詳細オブジェクトが表示されconsole.log()ます。

この違いの原因となる jQuery または Chrome の動作はよくわかりません。入力時の出力$sは の結果のようですが$s.toArray()console.log()実際の jQuery オブジェクトが表示されます。

これが新しい動作ではないことのさらなる証拠 - 11 月の重複した質問をリンクしました。

于 2013-06-03T17:00:24.357 に答える
1

c スタイルの console.log を使用して、コンソール ログ出力の出力スタイルを制御できます: https://developers.google.com/web/tools/chrome-devtools/console/console-write#styling_console_output_with_css

たとえば、単純な dom 要素スタイルで出力するには:

console.log("%o", document.body)
于 2013-12-28T06:59:21.740 に答える
1

はい、jquery に変更がある可能性があります。バージョンで dom オブジェクトをどのように扱っているかを確認してください1.9.1

http://jsfiddle.net/5HJ3L/1/

console.logこの方法で試してみると

var s = $("#item");
console.log(s);

出力は次のようになります

[div#item, context: document, selector: "#item", jquery: "1.9.1", constructor: function, init: function…]
0: div#item
context: document
length: 1
selector: "#item"
__proto__: Object[0]

よく確認すると、上記の配列の key に必要な出力が見つかる0ため、次の行の出力は次のようになります。

console.log(s[0]);

出力:

<div id="item">pas</div>

また、jqueryなしで試してみると、必要な出力が得られます

var e = document.getElementById('item');
console.log(e);

出力:

<div id="item">pas</div>

PS:これは jquery に対する提案ではなく、それらがどのように処理されるかを示すためのものですgoogle-chrome

訂正:arrayまた、質問の出力の言及は形式であるのに対し、私が提案した方法は形式であることに注意してくださいstring

于 2013-10-26T08:50:51.187 に答える
1

試す...

var s = $("<div>").append($("#item").clone()).html();

console.log(s);

$(s).remove();

それは最もきれいな形ではありませんが、結果はあなたが探しているものであり、あなたはそれに適した機能を思い付くことができると確信しています...

基本的には、div を作成し、そこに #item のコピーを入れ、#item 要素全体を表示するために、div の innerHTML をコンソールに吐き出します。(#item の innerHTML だけではありません) 次に、 s を破棄してクリーンアップします。

于 2013-10-26T07:52:57.490 に答える
0

jqueryではなくDOM要素を送信するコンソールで期待される結果が得られました。

console.log($("div")[0])
于 2013-12-13T15:20:14.447 に答える
0
var s = $("#item").html();
console.log(s)
于 2013-10-26T07:28:04.560 に答える
-1
    if div value printed on div .. then plz menstion html(). 

    var s = $("#item").html();

    console.log(s);
于 2013-10-26T07:34:15.883 に答える