2016-01-21 47 views
0

能否請您看看這個演示,讓我知道爲什麼我剛開始在.result發佈關於循環使用文本()

for (i = 0; i < 5; i++) { 
 
    $('.result').text('Hello' + [i]); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="result"></div>

回答

2

您可以將源代碼附加到新元素中。

for (i = 0; i < 5; i++) { 
 
    $('.result').append($('<p>').text('<p>' + 'Hello' + [i] + '</p>')); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="result"></div>

1

text()的最後一個項目將取代元素的innerText。要附加文字,您需要append()

for (i = 0; i < 5; i++) { 
 
    $('.result').append(' Hello' + [i]); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="result"></div>

要檢查text()作品,

for (var i = 0; i < 5; i++) { 
 
    (function(i) { 
 
    setTimeout(function() { 
 
     $('.result').text(' Hello' + [i]); 
 
    }, 1000 * i); 
 
    }(i)); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="result"></div>

+0

感謝圖莎爾,我是願意用'文本()的振振有辭'是因爲我經過HTML標記成'.result'其實我只需要生成源代碼通過這個函數,但通過使用'append()'它通過純字符串工作,但在通過HTMl的情況下,它實際上將標記應用到頁面!任何想法如何防止這一點? – Behseini

0

您是總是在變化的div和最後文本的內容如何變化是hello4

JsFiddle

for (i = 0; i < 5; i++) { 
    $('.result').html($('.result').html()+'Hello' + [i]); 
} 
1

因爲.text()設置文本。它將設置爲

Hello0 // when i=0 
Hello1 // when i=1 
Hello2 // when i=2 
Hello3 // when i=3 
Hello4 // when i=4