12

Chrome 22.0 まで、javascript コードを挿入すると

console.debug($('.page'));

以前は Google Chrome コンソールに戻っていました。

<div class="page"></div>

これは生きたDOMオブジェクトでした。ホバーすることで、ページ上のオブジェクトを簡単に見つけることができました。昨日、Chrome ブラウザーをバージョン 23.0 に更新しましたが、同じ js コードが次のようなものを返します。

[<div>, selector: ".page", context: #document]

これは生の js オブジェクトです。展開してその属性を読み取ることはできますが、ページ上に表示できる生きたDOM オブジェクトはありません。

console.debugjQuery セレクターを置換 console.logまたは追加しようとしまし $('.page').get()たが、成功しませんでした。

console.debug($('.page'));Chrome コンソールに直接書き込むと、Chrome 22.0 のように表示されるのも興味深いことです。問題は、js コードからのデバッグ中にのみ発生します。

4

3 に答える 3

1

理論的には、これは DOM 配列から jQuery プロパティを削除するのに機能する可能性があります。

console.log(Array.prototype.slice.call($('.page')));

ただし、DOM ノードの配列をコンソールする場合、dev ツールバーでは、配列内から DOM ノードを参照できなくなります (ネイティブ プロパティを除く)。これを回避する唯一の方法は、各ノードを個別にログに記録することです。

Array.prototype.slice.call($('.page')).forEach(function(elem) {
    console.log(elem);
});

または単に:

$('.page').each(function(i, elem) {
    console.log(elem);
});
于 2012-11-08T10:03:18.797 に答える
0

デバッグするときは、「.html()」または innerHtml もテストしてオンフライ HTML コードをデバッグしますが、「David」の方法も私が行ったことです。

于 2012-11-27T10:52:52.127 に答える
-1

これは、バージョン 23.0.1271.91 で修正されたようです。

于 2012-11-29T05:08:50.233 に答える