javascript - jQuery 选择器不在 chrome 控制台中

标签 javascript google-chrome jquery-selectors google-chrome-devtools

直到 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.log 替换 console.debug 或添加 $('.page').get()到 jQuery 选择器,但没有成功。

当我将 console.debug($('.page')); 直接写入 Chrome 控制台时,也很有趣,它看起来就像在 Chrome 22.0 中一样。只有在从 js 代码调试时才会出现问题。

最佳答案

理论上,这可以从 DOM 数组中去除 jQuery 属性:

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

但是,当控制 DOM 节点数组时,开发工具栏将不再允许您从数组中浏览 DOM 节点( native 属性除外)。我知道解决这个问题的唯一方法是单独记录每个节点:

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

或者简单地说:

$('.page').each(function(i, elem) {
    console.log(elem);
});

关于javascript - jQuery 选择器不在 chrome 控制台中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13286326/

相关文章:

jQuery - 在 'this' 的上下文中如何选择子项的子项?

Javascript 如果值为 8,11,18,则将 "a"更改为 "an"

javascript - 按钮选择器 --> 将数字添加到表单中的输入

html - html 页面可以从本地 URL 运行并转换为 chrome 中带有颜色的 pdf

javascript - Chrome 扩展选项

jquery - 在 jQuery UI 对话框中显示复选框并提供取消按钮

jquery选择具有attr值的tbody

javascript - element.parentNode 为 Web 组件提供了与页面和 Chrome 扩展上下文不同的结果

javascript - 保存和恢复 contentEditable div 的插入符号位置

html - FontAwesome 图标在 Safari 中的位置高于 Chrome