2009-11-27 24 views
1

我有大約6個具有相同類的div元素。當我將鼠標移到其中任何一個位置時,我想在旁邊顯示一個nother div。如何使用jQuery創建通用的id引用

我想給他們所有的id =「mydiv-divname」形式的id,其中mydiv-總是不變的。

我將如何引用mydiv- *元素。我找不到確切的語法,但我認爲它應該像$(「#mydiv - 」[*]),其中*表示某種通配符。

+0

對不起,這是一個非常愚蠢的問題。 – Ankur 2009-11-27 06:12:51

回答

3

什麼用途的ID服務?如果他們都標有相同的類名,你都可以通過類來訪問它們:

`$(".className")... 

要在這些元素中的一個懸停觸發事件,請使用

`$(".className").hover(...) 

注意函數在懸停()內只會觸發實際上被徘徊的元素。

他們做一些類似你想達到什麼here東西 - 或縮小懸停褪色一個元素

+0

但我想能夠訪問每個人 – Ankur 2009-11-27 06:09:14

+0

好吧現在就試試吧 – Ankur 2009-11-27 06:10:21

2

爲什麼你就不能使用這個類中選擇,而不是ID,如

jQuery('.commonClass');

+0

然後,當我用class =「commonClass」將鼠標懸停在其中一個項目上時,具有該類的所有項目最終都會讓新div顯示在右側。 – Ankur 2009-11-27 06:07:25

+0

我可能是錯的 - 我不確定你的解決方案究竟意味着什麼。 – Ankur 2009-11-27 06:08:10

+0

您可以訪問處理函數中觸發事件的元素,然後顯示該元素的正確div。 – RibaldEddie 2009-11-27 06:10:07

2

看來你要的東西像(標有該類頁面上的許多元素)這樣的:

HTML:

<div class="content" id="con_a">Hello world.</div> 
    <div id="show_con_a" style="display:none">Show Me on content div "a" hover</div> 

<div class="content" id="con_b">Nice to meet you.</div> 
    <div id="show_con_b" style="display:none">Show Me on content div "b" hover</div> 

<div class="content" id="con_c">See you later.</div> 
    <div id="show_con_c" style="display:none">Show Me content div "c" hover</div> 

JAVASCRIPT:

//Collect all divs with 'content' class 
$('.content').each(function(){ 
    //Set mouse handler for each content div 
    $(this).hover(function(){ 
     $('#show_' + this.id).show(); 
    }, 
    function(){ 
     $('#show_' + this.id).hide(); 
    }); 
}); 

替代的腳本:

//Collect all divs with an id that begins with 'con_' 
$("[id=^'con_']").each(function(){ 
    //Set mouse handler for each content div 
    $(this).hover(function(){ 
     $('#show_' + this.id).show(); 
    }, 
    function(){ 
     $('#show_' + this.id).hide(); 
    }); 
});