繁体   English   中英

循环时,为什么jQuery返回span元素内容的每个字符?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM