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

时间:2017-12-15 00:42:29

标签: javascript jquery dynamic element

我已使用以下类动态创建了一个元素:

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

和jQuery:

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

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

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

这里的问题是这些&#34; .text&#34;没有特定的位置。元素。我们所知道的唯一一个会出现在身体里的地方。我在身上使用了mutObserver ......不会对性能产生负担吗?

2 个答案:

答案 0 :(得分:0)

喜欢这个

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

答案 1 :(得分:0)

请改为:

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