2017-05-06 73 views
-2

我有一個div這樣的內容:應用功能與附加jQuery的元素

<div class="foobar">Red</div> 
<div class="foobar">Yellow</div> 
<div class="foobar">Cyan</div> 
<div class="foobar">Luke Skywalker</div> 
<div id="data"></div> 

我用這個jQuery函數替換的div內的文本。畢竟我追加2周.foobar的div到#data

$(function() { 
    $(".foobar").each(function() { 
     $(this).html("Black"); 
    }); 
    appendDiv(); 
}); 

function appendDiv() { 
    $("#data").append("<div class='foobar'>White</div>"); 
    $("#data").append("<div class='foobar'>Orange</div>"); 
} 

在這裏,我不知道如何inited .each功能適用於附加的div。我已經試過了,但它並沒有爲我工作:

$("#data").on("load", ".foobar", function(){ 
    $(this).html("Black"); 
}); 

如何申請.each功能附加HTML?

+0

6'.foobar'的div在他們每個人的 – Scripy

+0

@HenryDev,如果我叫'「黑」表達appendDiv'再次,它應該是8'.foobar'的div「黑」在他們 – Scripy

+0

,如果你第一次追加然後跑每個你有6'.foobar'更新爲'黑色'?檢查我的答案... –

回答

1

function appendDiv() { 
 
    $("#data").append("<div class='foobar'>White</div>"); 
 
    $("#data").append("<div class='foobar'>Orange</div>"); 
 
} 
 

 

 
$("#data").on("click", function() { 
 
    appendDiv(); 
 
    $(".foobar").each(function() { 
 
    $(this).html("Black"); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="foobar">Red</div> 
 
<div class="foobar">Yellow</div> 
 
<div class="foobar">Cyan</div> 
 
<div class="foobar">Luke Skywalker</div> 
 
<div id="data">[TEST click me]</div>

+0

謝謝你,但不應該有一個「點擊」事件,它應該是負載。 – Scripy

+0

@MrJo從哪裏加載?或者你的意思是改變? –

+0

謝謝你,男人! – Scripy

0

將結果$(「。foobar」)存儲在變量中,或者再次使用該表達式。

+0

我想還有另一種方法可以解決它,而不需要將數據存儲在變量中,如果不是一個單詞,我會追加大量數據並多次調用appendDiv? – Scripy

0

這應該工作,

$(".foobar").each(function(index, el) { 
    $("#data").append($(el).clone()); 
    console.log($("#data").html()); 
}); 

說明: 遍歷所有帶班foobar的的div和克隆不是每個追加到數據股利。