CSS链接参数今天比今天更早 - 1个月?

时间:2014-11-20 21:13:27

标签: html css

这项工作很好:

HTML:

<li>
<a name=something href="http://.../.  .html">Something</a>
</li>

CSS:如果name =&#34; Something&#34;然后链接backroundcolor =黄色

a[name="something"] {
background: #ffff00;
}

如何让它发挥作用?

HTML:

<li>
<a date=3.10.2014 href="http://.../.  .html">Something  OLD</a>
</li>

CSS:如果日期早于今天 - 1月,那么backroundcolor = red

a[date<"4.10.2014"] {
background: red;
}

2 个答案:

答案 0 :(得分:1)

仅使用css无法完成此操作。您可以使用javascript迭代所有a,并在条件匹配时添加一个类。

links = document.getElementsByTagName("a")
var oneMonthAgo = new Date();
oneMonthAgo.setMonth(oneMonthAgo.getMonth() -1);

for (var i=0; i<links.length;i++){
    console.log(links[i].dataset.date);
    var date = new Date(links[i].dataset.date);
    if (date < oneMonthAgo){
        links[i].className = links[i].className + 'old'
    }
}

演示:http://jsfiddle.net/8trL8x8n/1/

答案 1 :(得分:0)

假设日期将采用此4.11.2014格式,您就可以这样做。

HTML:

<li>
    <a data-date="4.11.2014" href="http://.../.  .html">Something  OLD</a>
</li>

的JavaScript:

var lis = document.getElementsByTagName('li');
var newDate = newDate().getMonth() + 1;

for (i = 0; i < lis.length; i++) {
    var oldDate = lis[i].getAttribute('data[date]').split('.')[1];
    if ((oldDate == 11 && newDate < 11) || oldDate > newDate) {
        lis[i].style.backgroundColor = 'red';
    }
}