有没有办法将 jQuery 应用于动态创建的元素? (不是事件监听器)

Is there a way to apply jQuery to dynamically created elements? (not event listeners)

我已经动态创建了一个具有以下 class 的元素:

<span class="text">Hello</span>

和jQuery:

function changeText() {
   var oldText = $(this).text();
    $(this).text(oldText + " There");
}

$(function() {
    $(".text").each(function(){
        changeText.apply(this);
    })
})

显然,这是实际发生的情况的简化版本,但基础知识在那里。即使我们没有使用事件侦听器,是否可以将此规则应用于动态创建的元素?

这里的问题是这些“.text”元素没有特定的位置。我们唯一知道这些会出现的地方是 body。我在 body 上使用了一个 mutationObserver...这不会增加性能吗?

喜欢这个

$dynamicElement.find(".text").each(function(){
    changeText.apply(this);
})

改为这样做:

function changeText() {
  var oldText = $(this).text();
  $(this).text(oldText + ' There');
}
$(function(){
$('.text').each(function(i, e){
  changeText.call(e);
});
});