2017-09-14 13 views
-1

ウェブページには、クラス名が「postContainer」のdivに含まれる投稿がいくつかあります。以下のコードは、それぞれdivにボタンを追加します。jQuery:新しく追加されたdivへの追加機能のバインド

$('.postContainer').find('.fileText') 
     .append('<button class="exbutton d1" type="button">postname</button>'); 

私のコードが最初に動作しますが、新しいポストはajaxによって表示される、それはdiv要素だ

+0

jsfiddleまたはスニペットを使用して問題をよりよく説明するために? –

+0

'.find()'は、現在存在する要素を見つけるだけです。これをイベントハンドラで実行しない限り、将来自動的にこれを行う方法はありません。 – Barmar

+1

問題をさらに明確にすることはできますか? –

答えて

-1

は、このようにそれを行うようにしてくださいボタンを持っていません:https://jsfiddle.net/ff2v0q6v/1/

var AJAXcontent = "Lorem <b>ipsum</b> dolor sit amet..."; // The AJAX post HTML 
 

 
// OK. now... 
 

 
var $exbutton = $("<button/>", { 
 
    "class": "exbutton d1", 
 
    type: "button", 
 
    text: "postname" 
 
}); 
 

 

 
$("<div/>", { 
 
    "class": "postContainer", 
 
    html: AJAXcontent, // 1. Insert the post content 
 
    append: $exbutton, // 2. append the button 
 
    appendTo: "body"  // 3. append the DIV wherever you want 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

0
$(document).ajaxComplete(function() { 
$("body").find('.postContainer').each(function(){ 
    var $this = $(this); 
    if($this.find('.exbutton').length === 0) { 
     $this.append('<button class="exbutton d1" type="button">postname</button>'); 
    } 
    }); 
}); 
+1

ようこそスタックオーバーフロー!このコードスニペットは問題を解決するかもしれませんが、[説明を含めて](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! – Machavity

関連する問題