【问题标题】:Jquery,working fine in Chrome, but not in Firefox and SafariJquery,在 Chrome 中运行良好,但在 Firefox 和 Safari 中运行良好
【发布时间】:2014-12-25 08:38:06
【问题描述】:

一个简单的列表排序功能。该函数按最近日期(数据日期属性)对列表项进行排序。在 chrome 中它工作正常,但在 firefox 和 safari 中它什么也不做。但在萤火虫中也没有错误:s。

 $( document ).ready(function() {
      $('#November ul li').sort(function(a,b){
         return new Date($(a).data('date')) < new Date($(b).data('date'));
      }).each(function(){
         $('#November ul').prepend(this);
      })
   });

谁能告诉我我做错了什么?谢谢。

【问题讨论】:

  • 你为什么要逃避你所有的'?你能告诉我们客户端浏览器中出现的代码吗?
  • 为什么都是斜线?
  • 你可以使用 jquery 方法 data 代替 attr 像这样: return new Date($(first).data("date"))
  • 编辑了消息。代码是客户端输出,我现在正在使用数据方法。仍然无法在 Firefox/Safari 中运行 en 仍然没有 js 错误。

标签: php jquery google-chrome firefox safari


【解决方案1】:

找到解决方案。在排序之前,我需要使用 toArray() 方法。但是为什么 Chrome 在不添加 toArray 代码的情况下可以工作而 Firefox 和 Safari 不可以,这让我大吃一惊。最终的代码是这样的。

$( document ).ready(function() {
  $('#December ul li').toArray().sort(function(a,b){
     return new Date($(a).data('date')) < new Date($(b).data('date'));
  }).each(function(){
  $('#December ul').prepend(this);
  })
}); 

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    • 2013-03-29
    • 2013-09-27
    • 2018-02-04
    • 2016-10-03
    • 1970-01-01
    • 2014-09-26
    相关资源
    最近更新 更多