[英]Why is jQuery returning each character of the contents of my span element when I loop it?
好吧,我有一班結束時間課。 我想獨立獲取其他內容。
<span class='endtime'>
2011-03-29 00:01:03
</span>
<span class='endtime'>
2011-03-31 19:20:11
</span>
<span class='endtime'>
2011-03-28 19:00:12
</span>
但是問題是,當我這樣做時:
var text = $('.endtime').text();
for(var i = 0; i < text.length; i++) {
$('.counter').countdown({
until: text[i],
format: 'HMS'
})
}
文字內容只包含1個字符? 如何使其返回整個字符?
調用.text()
您可以選擇傳入一個函數,以對集合中的每個項目執行。
$("span.endtime").text(function(i, text){
$('.counter').countdown({
until: text,
format: 'HMS'
})
});
jsfiddle上的簡單示例。
text()
返回第一個元素的字符串 ,而不是所有元素的所有文本!
要遍歷所有元素,請嘗試以下操作:
$('.endtime').each(function(){
var text = $(this).text();
//something with text
});
如果您真的想要一個數組 ,也可以編寫:
var texts = $('.endtime')
.map(function(){return $(this).text();})
.get();
// texts is now an array of strings.
// rest of the code is the same.
試試這個代碼
var text = $('.endtime');
for(var i = 0; i < text.length; i++) {
$('.counter').countdown({
until: text[i].text(),
format: 'HMS'
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.