[英]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.