有没有办法检查 DOM 元素是否是动态创建的

Is there any way to check whether a DOM element is created dynamically or not?

本文关键字:是否是 动态 创建 元素 DOM 检查 有没有      更新时间:2023-09-26

我在页面上有在 ajax 请求后动态创建的内容,也有在页面刷新时预加载的内容。

当单击锚标签时,我想找出这个特定的锚标签是否是动态创建的。

虽然我通过使用一些逻辑解决了这个问题,但如果我可以以其他特定方式做到这一点会容易得多

我做了很多谷歌,但为此找到了已知的解决方案

你可以为每个动态创建的<a>分配一个类,然后编写一些JavaScript/JQuery来检查该类是否存在。

<a href='#' id='static'>Static</a>
<a href='#' class='ajax-dynamic' id='dynamic-1'>Dynamic 1</a>
<a href='#' class='ajax-dynamic' id='dynamic-2'>Dynamic 2</a>

JavaScript/jQuery

$('a').off('click').on('click', function(e) {
   e.preventDefault();
   if ($(this).hasClass('ajax-dynamic')) {
     alert('anchor created dynmically');
   }
})

小提琴:https://jsfiddle.net/oq1zz3nj/3/