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

Javascript 为什么在循环span元素时jQuery会返回其内容的每个字符?,javascript,jquery,Javascript,Jquery,好的,我有一堆span和一个endtime类。我希望每个内容都独立于其他内容 <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> 2011-03-29 00:

好的,我有一堆span和一个endtime类。我希望每个内容都独立于其他内容

<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>

2011-03-29 00:01:03
2011-03-31 19:20:11
2011-03-28 19:00:12
但问题是,当我这样做时:

var text = $('.endtime').text();
for(var i = 0; i < text.length; i++) {
      $('.counter').countdown({
            until: text[i],
            format: 'HMS'
      })
}
var text=$('.endtime').text();
对于(变量i=0;i
文本内容只有一个字符?如何使其返回整个字符?

返回第一个元素的字符串,而不是所有元素的所有文本

要迭代所有元素,请尝试以下操作:

$('.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.
返回第一个元素的字符串,而不是所有元素的所有文本

要迭代所有元素,请尝试以下操作:

$('.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'
  })
}
var text=$('.endtime');
对于(变量i=0;i
试试这段代码

var text = $('.endtime');
for(var i = 0; i < text.length; i++) {
  $('.counter').countdown({
        until: text[i].text(),
        format: 'HMS'
  })
}
var text=$('.endtime');
对于(变量i=0;i
调用
.text()
时,您可以选择传入一个函数,以便对集合中的每个项目执行

$("span.endtime").text(function(i, text){
      $('.counter').countdown({
            until: text,
            format: 'HMS'
      })
});
上的简单示例。

调用
.text()
时,您可以选择传入一个函数以对集合中的每个项执行

$("span.endtime").text(function(i, text){
      $('.counter').countdown({
            until: text,
            format: 'HMS'
      })
});

上的简单示例。

这不会也替换文本,在本例中为
未定义的
?@Kobi,只要不返回任何内容,文本元素就不会更改。是的,它已关闭。。我以为我是唯一一个有问题的网站!在本例中,如果不返回任何内容,则文本元素不会被更改。是的,它已关闭。。我以为我是唯一一个有问题的网站!