私たちが使用するサードパーティのプラグインを修正するために、正しくないラベルにカスタムjQueryソリューションを構築すると、更新が必要になるため、プラグインのPHPコードを編集したくありません一度更新すれば私たちの編集内容は明らかに消えてしまいます。DOMNodeInsertedのjQueryと無限ループの原因となるhtml()
「マイ・フレンド」とは「マイ・コネクション」に変更する必要があり、「グループ内のマイ・フレンド」を「グループ内のマイ・コネクション」に変更したいということです。
セレクタは、別のセレクタを使用するときにajax経由で挿入されるため、セレクタを挿入するたびにこの変更が必要になります。したがって、私は次のコード
私は()関数のhtmlをコメントアウトした場合、コードは、私は、イベントがトリガされたことを知らせるために完全に罰金実行jQuery(document).ready(function() {
jQuery('#wrapper').on('DOMNodeInserted', '#selector', function() {
//alert('Friends inserted!');
var title1 = jQuery(this).children('.fa-friends');
if(title1.length > 0) {
title1.html('My Connections');
}
var title2 = jQuery(this).children('.fa-groupfriends');
if(title2.length > 0) {
title2.html('My Connections in Group');
}
alert(title1.html() + ' ' + title2.html());
}); // end on
}); // end ready
を書かれています。
私がhtml()関数を開始しようとすると、コードは無限ループに詰まり、決して置き換えられません。
これは意図しない無限ループを引き起こすのはなぜですか?どのようにしてループを防止または停止できますか?
どこに配置すればよいですか? –
if(title1.length> 0)括弧の中で、if(title2.length> 0)括弧は? .on()の終わりの直前か? –
これまでのところ、どこに配置しても無限ループを実行しています:/ –