2013-02-11 42 views
0

同一類號碼,我有以下功能jQuery的:在兩個不同的環節

$('.link1-**number**').click(function() { 
    $(".link2-**number**").hide() 
}); 

當我點擊link1- 我想隱藏link2- ,但只有當是相同的價值。

所以 <a class="link1-1987">Link 1</a>
隱藏<a class="link2-1987">Link 2</a>

<a class="link1-1">Link 1</a>
隱藏<a class="link2-1">Link 2</a>

<a class="link1-5">Link 1</a>
隱藏<a class="link2-5">Link 2</a>

+0

是你想要什麼有一個鏈接,其中包含用戶的位置,就像wordpress一樣由軟件生成的toc? – 2013-02-11 03:36:10

+0

是的,我正在使用wordpress。它取決於post_id – user1708580 2013-02-11 03:49:43

回答

2

回答您的編輯:

$('a[class^=link1]').click(function(){ 
    var number = this.className.split('-')[1]; 
    $('a.link2-' + number).hide(); 
}); 

DEMO

注意,它會工作,僅當:

  1. 沒有爲link1錨只有一個類。
  2. 該錨點沒有多個連字符。
+0

+1順便說一句,注1應該說「link2」,而不是「link1」。 – 2013-02-11 15:03:52

+1

@JohnS,其實這是正確的。當link1有幾個類時,請看[有問題的小提琴](http://jsfiddle.net/ZJtup/1/)。 – gdoron 2013-02-11 15:35:32

+0

我糾正了。老實說,我不確定我在想什麼。感謝您將示例放在一起。 – 2013-02-11 18:27:12

2

你的問題太含糊,但我相信你正在尋找啓動與選擇:

$('a[class^="b-"]').click(); 

它將匹配所有這一切都與一個b-啓動類<a>

DEMO

+0

+1擊敗我。所以這裏是[演示](http://jsfiddle.net/QP2sW/)。 – Joseph 2013-02-11 03:34:01

+0

@JosephtheDreamer,感謝DEMO,我更新了一下。 – gdoron 2013-02-11 03:36:18

+0

好吧,好的謝謝你的回答(你們倆)。我要澄清我的問題,因爲這不是我正在尋找的 – user1708580 2013-02-11 03:38:25

1

使用從@gdoron選擇,這個怎麼樣:

$('a[class^="link1-"]').click(function() { 
    var className = $(this).attr('class'); 
    var i = className.indexOf('-'); 
    if (i >= 0) { 
     var number = className.substring(i + 1); 
     $(".link2-" + number).hide() 
    } 
}); 

注意:這隻有在 「LINK1 - ###」 元素都有一個單獨的類名。它必須得到增強才能支持他們擁有多個類名,但即使如此,「link1 - ###」類名也必須首先出現。

Live demo on jsfiddle

編輯:在第二次看,由於匹配選擇器必須至少包含一個破折號,類名稱,代碼可以簡化爲:

$('a[class^="link1-"]').click(function() { 
    var className = $(this).attr('class'); 
    var number = className.substring(className.indexOf('-') + 1); 
    $(".link2-" + number).hide() 
}); 
+0

+1,非常好的答案。 – gdoron 2013-02-11 06:23:16

+0

@gdoron,謝謝,當然,它使用你的選擇器,你想出了同樣的想法。 – 2013-02-11 15:01:59

相關問題