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