Javascript 使用jQuery.data()设置元素的文本无效

Javascript 使用jQuery.data()设置元素的文本无效,javascript,jquery,momentjs,Javascript,Jquery,Momentjs,我有一些HTML表格单元格,它们的数据属性称为datarawdate,包含从服务器呈现的完整(外观难看)日期时间值。使用jQuery,我想获取原始的日期字符串,使用日期库(在本例中为Moment.js)对其进行格式化,并将其设置为的文本 这是一个简化的版本 HTML: 起初,我认为这是Moment.js库的问题,但后来我尝试跳过格式设置,只是将元素的文本设置为$(this.data(“rawdate”)(请参见js的注释行),即使这样也不起作用。我甚至尝试了.attr(“data rawdate

我有一些HTML表格单元格,它们的数据属性称为
datarawdate
,包含从服务器呈现的完整(外观难看)日期时间值。使用jQuery,我想获取原始的日期字符串,使用日期库(在本例中为Moment.js)对其进行格式化,并将其设置为
的文本

这是一个简化的版本

HTML:

起初,我认为这是Moment.js库的问题,但后来我尝试跳过格式设置,只是将元素的文本设置为
$(this.data(“rawdate”)
(请参见js的注释行),即使这样也不起作用。我甚至尝试了
.attr(“data rawdate”)
而不是
.data(“rawdate”)
-什么都没有

有人知道为什么
.text()
函数似乎不喜欢
.data()
函数吗?谢谢。

试试这个解决方案

$(document).ready(function() {

  $(".dateField").each(function(){
    $(this).text(moment($(this).data("rawdate"), "M-D-YYYY h:m:s a").format("M/D/YYYY")));
  }
});
您必须应用方法并在每个的回调函数中设置文本。见下例:

$(文档).ready(函数(){
$(“.dateField”).each(函数(){
$(this).text($(this.data(“rawdate”));
});
;
});


您认为调用
矩()
中的
是什么?提示:它不是当前的表格单元格。啊,是的,当然我的选择器不是迭代的,而是查看整个结果集。谢谢,这样做的诀窍:)谢谢你的彻底的回答,这是有意义的。
$(document).ready(function() {

  $(".dateField").text(
    moment($(this).data("rawdate"), "M-D-YYYY h:m:s a")
        .format("M/D/YYYY")
  );

  //$(".dateField").text($(this).data("rawdate"));
});
$(document).ready(function() {

  $(".dateField").each(function(){
    $(this).text(moment($(this).data("rawdate"), "M-D-YYYY h:m:s a").format("M/D/YYYY")));
  }
});