“target element is not a descendant of root”的意思是什么?

7

我在Chrome控制台中收到以下警告:

"IntersectionObserver.observe(target): target element is not a descendant of root."

这是什么意思?我该如何找到原因并解决它?

这个警告的意思是目标元素不是根元素的后代,所以观察者无法观察到它。要解决这个问题,你需要检查代码确保目标元素是根元素的后代。你可以使用开发者工具来检查元素层次结构。

2个回答

2

在使用JS创建HTMLVideoElement并在播放前提取第一帧图像时,我遇到了这个警告,因为我没有将其添加到文档的body中。

我通过将其display设置为none,并将节点作为body的子节点附加到文档中,然后在稍后的promise中从文档中删除该元素来解决此问题。

所以,如果您在JS中创建任何DOM元素并未将其添加到HTML文档的body中,请务必检查一下。


2

我也遇到了这个警告。Chrome调试工具不喜欢元素中的某个属性。我通过剪切HTML块并重新加载页面,直到将其缩小到单个属性为止,找到了有问题的属性。

对我来说,问题出在静音属性上...

希望这可以帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接