2017-12-15 10 views
-1

私は動的に以下のクラスを持つ要素を作成しました:動的に作成された要素にjQueryを適用する方法はありますか? (ないイベントリスナー)

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

とjQuery:

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

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

、これは実際に何が起こっているかの簡易版が、基本でありますある。イベントリスナーを使用していなくても、動的に作成された要素にこのルールを適用することは可能ですか?

ここでの問題は、これらの ".text"要素の特定の場所がないことです。これらがわかる唯一の場所は、体の中にあります。私は体にmutationObserverを使用しています...それはパフォーマンスに課税されませんか?この

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

最良の方法は、これらの動的な要素の作成を担当する機能を変更することです。 –

+0

動的要素の作成を担当するコードを変更できますか? –

+0

残念ながらこれは古いフレームワークを使っています。 –

答えて

0

ではなく、これを実行します。

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

私はそれがOPが必要なものだとは思わない。 –

+0

'find'メソッドは、ページがロードされた後でもそれらの要素を探し続けますか? –

+0

のように見えます。申し訳ありませんが、これは私が探しているものではありません。私の質問をより明確にするためのヒントは? –

関連する問題