为什么以下代码会在 Chrome 控制台中导致“类型错误:将循环结构转换为 JSON”?
JSON.stringify(document.querySelectorAll("img"))
最佳答案
DOM 元素包含循环引用,并且您无法对包含循环引用或包含具有循环引用的对象的任何对象调用 JSON.stringify()
。
例如,它包含 .parentNode
,然后又包含 .childNodes
,然后它又指向同一个元素。一旦 JSON.stringify()
检测到此类循环引用,它就会停止,因为它无法记录所有属性。
基本上,您无法对 DOM 节点或 DOM 节点列表进行字符串化。也许如果您帮助我们了解您真正想要解决的问题,我们可以帮助您找到替代方法。例如,也许您只需将其保存到 img.src
属性即可保存这些图像。
关于javascript - Chrome 中的循环结构到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27222809/