2012-07-10 68 views
1

我的选择时间要素:日期时间ATTR有

[ <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的如果它们与当前月份和日期一致,但无法选择<time>标记的日期时间属性。

  • 如何检查日期时间attr是否为空?和
  • 然后我如何填写文本?

我有这个功能来帮助获取当前日期并将其放入月份(Month,YYYY)格式。并可以调整它以获取datetime属性的数字格式,只是不知道如何使用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; 
};` 

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

回答

2

只需使用.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) {...}); 
+0

你'if'声明可能只是'如果(d)' – bokonic 2012-07-10 17:01:57

+0

也许有是虚假的日期值,如空字符串,这被认为是一个值 - 不太可能,是的;我会改变它。 – Bergi 2012-07-10 17:08:16