1

我有一组超链接都链接到其他页面和/或站点,每个链接都有一个类,从 1 开始并逐渐增加,我只希望从类 '1' 到现在的链接处于活动状态,但是链接自身以保持可见。

<div>
    <a href="http://google.com" class="link 1">LINK 1</a>
    <a href="http://google.com" class="link 2">LINK 2</a>
    <a href="http://google.com" class="link 3">LINK 3</a>
    <a href="http://google.com" class="link 4">LINK 4</a>
</div>

我已经尝试过了,但它不起作用。

var d = new Date(),
    day = d.getDate(),
    number = $('a.link').attr("class").match(/\d+/);

if (number > day) {
    $("a.link").attr("href", "#")
} else {}

我正在尝试更改 href 而不是禁用链接,以便人们无法通过查看页面源代码看到地址。

4

1 回答 1

5

data-*使用属性比尝试从属性中正则表达式数字要容易得多class

<div>
    <a href="http://google.com" class="link" data-day="1">LINK 1</a>
    <a href="http://google.com" class="link" data-day="2">LINK 2</a>
    <a href="http://google.com" class="link" data-day="3">LINK 3</a>
    <a href="http://google.com" class="link" data-day="4">LINK 4</a>
</div>

然后你可以使用.filter()

$('a.link').filter(function(){
    return parseInt($(this).data('day'),10) > 2 // Use your day logic in place of the hardcoded "2"!
}).attr('href','#');

JSFiddle:http: //jsfiddle.net/T2sNF/1/

于 2013-11-07T12:48:13.593 回答