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 に答える