Jquery 创建在元素存在后激发的函数

Jquery 创建在元素存在后激发的函数,jquery,dom,Jquery,Dom,我正在用jQuery中的.append创建一个元素。我有一个在元素存在时要执行的函数 我发现在append命令运行之后,元素就不存在了。那么,如何使其在存在时执行呢?您可以绑定到domandeinserted事件,但请注意,如果执行此操作,您将失去对IE8及更早版本的支持: $(document).on('DOMNodeInserted', '.my-element-class', function () { $(this).css({ backgroundColor : 'red' }

我正在用jQuery中的
.append
创建一个元素。我有一个在元素存在时要执行的函数


我发现在append命令运行之后,元素就不存在了。那么,如何使其在存在时执行呢?

您可以绑定到
domandeinserted
事件,但请注意,如果执行此操作,您将失去对IE8及更早版本的支持:

$(document).on('DOMNodeInserted', '.my-element-class', function () {
    $(this).css({ backgroundColor : 'red' });
});
以下是事件的MDN文档,请在“突变事件”下查看:

尽管如此,元素在您将其附加到DOM后确实存在,因此您可能试图错误地选择它:

$('body').append('<div>My New Div!</div>').children().last().css({ backgroundColor : 'red' });
$('body').append('mynewdiv!').children().last().css({backgroundColor:'red'});
下面是一个演示,演示如何在将元素添加到DOM后直接选择该元素:


请注意,这段代码使用了一个事实,即
.append()
将新元素添加为其添加到的容器的最后一个子元素。因此,您可以通过选择容器的子级,然后选择最后一个子级来选择它。

这不是真的,
.append()
立即发生,元素可以立即访问。需要发布代码。。。若您追加并调用函数,它将查找元素(若它存在)“…在元素存在之后”-元素诞生;-)