是否可以在 Chrome 中查看 jQuery 添加的数据

Posted

技术标签:

【中文标题】是否可以在 Chrome 中查看 jQuery 添加的数据【英文标题】:Is it possible to view jQuery added data in Chrome 【发布时间】:2011-08-21 22:53:25 【问题描述】:

在创建网站时,我经常使用 jQuery 的 .data() 函数向元素添加数据。

是否可以查看与 Chrome 中的元素一起存储的所有数据?

所以当我检查一个元素时,它会在 Chrome 本身中显示数据。

如果没有,是否可以编写一个插件来“扩展”到 Chrome element inspector 以也显示到数据?

【问题讨论】:

【参考方案1】:

打开检查器,进入控制台,输入

$('<some selector>').data()

然后点击return来评估data()方法并直接显示它的返回值。

除非您在非交互式代码中调用它,否则无需使用 console.log

【讨论】:

这对我没有帮助。我遍历了许多具有相同类的 div,并为每个 div 存储单独的数据。现在我想查看这些数据,但我无法轻松地使用您的方法单独选择这些 div。 @Toni Try $('&lt;some selector&gt;').map(function (el) return el.data(); ) 提示:如果您在 Elements 窗口中选择一个元素,它在控制台中将变为 $0。然后您可以输入$($0).data() 另一个提示:使用Esc key 在分屏中查看元素和控制台。 BobStein-VisiBone:魔法!在任何地方都找不到此信息,它应该是公认的答案。 同意韦德哈特勒。这是今天对我来说第二个很棒的提示。另一个是 Chrome 的“设置为全局变量”功能。【参考方案2】:

Chrome Query

可以在Chrome Extensions Webstore 中找到并在开发者工具的属性面板中添加另一个选项卡。

【讨论】:

完美,非常感谢!您的答案应该是新接受的答案。 扩展做了它应该做的。真的很舒服。开发栏应在安装后关闭并重新打开。 这似乎不再适用于最新版本的 Chrome 扩展类型的作品,但数据字段不会随着它们的变化而实时更新。【参考方案3】:

在 chrome 控制台中输入:

console.log($('selector').data());

它会在该元素中列出data

【讨论】:

如果在咨询中执行此操作,您可以省略console.log(…),直接运行$('selector').data()。结果仍将打印在控制台中。【参考方案4】:

Chrome Query

【讨论】:

【参考方案5】:

因此,我不使用$(selector).data() 模式,而是使用更自然的html $(selector).attr('data-name','value') 将值添加到实际的HTML。

$(selector).attr('data-name','value') 在 IE8+ 浏览器中不起作用。 .data() 是首选。此外,用户定义的 var 例如:data-name 不是 HTML 中的属性。

【讨论】:

同意,这是一种比 'data()' 更容易发现的模式 我同意原始数据类型,但复杂类型呢? 我可能会争辩说你应该有一个视图模型或数据模型,这取决于你的模式。在淘汰赛中,您可以看到节点上下文。在其他模式中,您可能只在其中存储一个 ID,然后通过基于 ID 的委托进行查找。甚至还有一些 chrome 插件可以在调试器/检查器中显示 Knockout 的节点上下文。

以上是关于是否可以在 Chrome 中查看 jQuery 添加的数据的主要内容,如果未能解决你的问题,请参考以下文章

是否有 Chrome 插件可以通过单击网页上的工具栏图标或键盘快捷键来运行 jquery 代码?

在chrome问题中使用jquery的图像高度

chrome开发工具指南

是否可以查看 chrome 历史记录的 ip 地址而不是 url?

jQuery 开关类未在 Chrome 中正确激活

如何使用 jQuery 检测浏览器是不是是 Chrome?