【问题标题】:datetime attr in <time> element<time> 元素中的日期时间属性
【发布时间】:2012-07-10 16:55:10
【问题描述】:

我选择了一些时间元素:

[ <time class=​"end" datetime>​</time>​ , 
<time class=​"end" datetime=​"2011-12">​Dec 2011​</time>​ , 
<time class=​"end" datetime=​"2010-01">​Jan 2010​</time>​ , 
<time class=​"end" datetime=​"2009-01">​Jan 2009​</time>​ , 
<time class=​"end" datetime=​"2006-12">​Dec 2006​</time>​ , 
<time class=​"end" datetime=​"2006-05">​May 2006​</time>​ ]

可以从 jQuery 语句中选择:

$('.workexperience .company .position > time.end')

如果当前月份和日期为空白,我正在尝试填充结束日期时间和 InnerHTML,但在选择 &lt;time&gt; 标记的日期时间属性时遇到困难。

  • 如何检查日期时间属性是否为空?和
  • 然后如何填充文本?

我有这个函数来帮助获取当前日期并将其放入月份年份(月份,YYYY)格式。并且可以调整它以获取日期时间属性的数字格式,只是不知道如何使用 JQuery 选择它们。

function getCurrentDate() {
var d = new Date();
var m = new Array(7);
var y = d.getFullYear();
m[0] = "January"; m[1] = "February"; m[2] = "March"; m[3] = "April"; m[4] = "May"; m[5] = "June"; m[6] = "July"; m[7] = "August"; m[8] = "September"; m[9] = "October"; m[10] = "November"; m[11] = "December";
return m[d.getMonth()] + ", " + y; 
};`

一如既往,感谢您的时间和帮助。

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    只需使用.attr() method

    var ends = $('.workexperience .company .position > time.end');
    ends.attr("datetime", function(i, d) {
        if (!d) // empty
            return getCurrentDate();
        return d;
    });
    

    ...或者,更好的是.prop() method

    ends.prop("dateTime", function(i, d) {...});
    

    【讨论】:

    • 您的if 声明可能只是if(d)
    • 也许有虚假的日期值,比如空字符串,它们被认为是一个值 - 不太可能,是的;我会改的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2014-01-04
    • 2016-04-24
    相关资源
    最近更新 更多