Javascript 如何获取由脚本生成的DOM元素?

Javascript 如何获取由脚本生成的DOM元素?,javascript,html,dom,Javascript,Html,Dom,我想通过单击DOM元素来获取它。脚本如下所示: document.onclick=函数(e){ e、 target.style.backgroundColor=“绿色”; e、 target.style.color=“白色”; 警报(e.target.tagName); for(让e.target.attributes的属性为attr){ 警报(`${attr.name}=${attr.value}`); }; };它不适用于动态生成的元素的原因很简单,因为事件监听器预先绑定在已有的元素上 每

我想通过单击DOM元素来获取它。脚本如下所示:

document.onclick=函数(e){
e、 target.style.backgroundColor=“绿色”;
e、 target.style.color=“白色”;
警报(e.target.tagName);
for(让e.target.attributes的属性为attr){
警报(`${attr.name}=${attr.value}`);
};

};它不适用于动态生成的元素的原因很简单,因为事件监听器预先绑定在已有的元素上

每次向DOM中添加新元素时,您应该有一个重新绑定事件的函数。该函数应针对单个元素或整个页面

window.onElementAdded = (element) = >{
      element.onclick = ...
}

每次从您的代码向DOM添加元素时,都需要调用此函数。

不幸的是,我无法提供原始网页,因为它是公司内部产品,但我发现了一些类似的东西可以检查,顺便说一句,在本例中,不工作脚本的原因似乎与我在原始应用程序中使用自动生成元素的原因不同。正如您可以看到的,对于通用Google页面,脚本不适用于页面上的任何元素,但是对于第二张图像上显示的Google URL,相同的脚本适用于页面上的所有元素。并且shovn元素本身是不同的(在第一个图像上由div表示,在第二个图像上由img表示)


请提供一个runnable来演示该问题。我们只能猜测,而不能自己在开发工具中检查。一种可能性是这些元素位于iframe中,例如,侦听器被添加到
文档中,因此添加其中的元素并不重要