我有一个jQuery TimeAgo插件的调整版本..唯一的调整是我可以设置自定义属性而不是全局属性。这样做的原因是我可以在某些标签上有后缀,而在其他标签上没有后缀。由于我以不同的方式对它进行了测试,因此这种调整确实可以完美地运行。
但是,我想选择元素/属性的方式无法正常工作。
我的标记有以下
<time data-suffixAgo="" datetime="2010-06-24T14:10:22Z" title="2010-06-24T14:10:22Z">4 months </time>
<time data-suffixAgo="ago" datetime="2010-11-10T06:00:44Z" title="2010-11-10T06:00:44Z">less than a minute ago</time>
<!-- note the data between the <title> tags is generated server side.
I'm not talking about that data, just the jQuery information-->
运行时的输出显示
4 months ago
less than a minute ago
现在问题是“4个月前”不应该说“前”因为我的data-suffixAgo
属性是空白的
这是我正在使用的jQuery
// selects all "time" tags on the page and give the friendly "timeago"
// uses the jquery.timeago.js plugin
// all time tags are created using the "ToTimeSpan" Date Extension Method
$('time').timeago({strings:{suffixAgo: $(this).attr("data-suffixAgo")}});
有人可以告诉我为什么我的选择器没有在每个元素的基础上提取data-suffixAgo
属性吗?
如果我使用这个
$('time').timeago({strings:{suffixAgo: ""}});
所有<time>
代码中的“strong”将被删除,如果我这样做
$('time').timeago({strings:{suffixAgo: "ago"}});
“之前”将添加添加到所有<time>
代码
答案 0 :(得分:2)
尝试:
$('time').each(function(){
$(this).timeago({
strings: {suffixAgo: $(this).attr("data-suffixAgo") }
});
});
你的代码中的$(this)指的是整个$('time')。