2012-03-07 52 views
0

我有一種情況,我需要將唯一生成的ID名稱的一部分與具有相同ID的div的部分匹配,但使用css隱藏。jquery匹配類

因此,

<a class="popup" id="productTip348_27598" href="#">Link text</a> 

和:

<div class="popupContent" id="productTip348_27598"> ... </div> 

的想法是,我,將鼠標懸停在鏈接,將與魔法所示的相同ID的div.popupContent。將有多個具有相同類的元素,只是ID是不同的。

我很遺憾不是一個jQuery嚮導,所以我正在尋找一些幫助。

+5

你說「ID是不同的」,但你顯示了兩個不同的元素具有相同的ID,這是非法的,可能會導致意想不到的結果。 – devnull69 2012-03-07 11:44:55

回答

2

正如評論中所述,您的示例中有重複的id屬性被使用,這是無效的。

相反,嘗試把div的idhref atrtribute的a元素的展現:

<a class="popup" href="#productTip348_27598">Link text</a> 

然後在jQuery中,使用href懸停時顯示的相關格:

$(".popup").hover(
    function() { 
     $($(this).attr("href")).show(); 
    }, 
    function() { 
     $($(this).attr("href")).hide(); 
    } 
); 
+0

你說得對 - 我不得不稍微修改代碼並切換一些值以使其正常工作(並且有效)。相反,我得到了一個更好的結果,在下面評論。 雖然,感謝您的幫助。 :) – Stagen 2012-03-08 07:07:09

1

.popupContent放置在.popup元素內嗎?如果是這樣;

$(document).ready(function() { 

    $('.popup').hover(
    function() { // Triggered on both mouseenter and mouseleave events 
     $(this).find('.popupContent').toggle(); 
    } 
); 

}); 

「div.popupContent with the ID」。

ID是唯一的,不能與其他元素共享。

+0

你是對的,我不得不改變一下代碼,使其工作。 – Stagen 2012-03-08 07:07:50

0

這是我在朋友的幫助下想出的結果。

更改了分配給懸停元素的類的名稱。 將彈出的ID更改爲data-id的ID,因此它在同一時間更具獨特性和有效性。

$(".popupLink").hover(function(){ 
    var selectedId = $(this).attr("id"); 
    $('[data-id='+selectedId +']').toggle() 
}); 

有了這個,我能夠實現我的目標。

但是,感謝那些給予他們對該主題的投入的人。非常感激。 :)