1

我有大约 6 个具有相同类的 div 元素。当我将鼠标悬停在其中任何一个上时,我想在它们旁边显示另一个 div。

我正在考虑给他们一个 id="mydiv-divname" 形式的 id,其中 mydiv- 将始终保持不变。

我将如何引用 mydiv-* 元素。我找不到确切的语法,但我认为它应该类似于 $("#mydiv-"[*]) ,其中 * 表示某种通配符。

4

3 回答 3

3

身份证有什么用途?如果它们都标记有相同的类名,则可以按类访问它们:

`$(".className")...

要在其中一个元素悬停时触发事件,请使用

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

请注意, hover() 中的函数只会为实际悬停的元素触发。

他们做的事情类似于你在这里试图实现的- 在悬停时淡入或淡出一个元素(页面上标有该类的许多元素)

于 2009-11-27T06:07:48.773 回答
2

为什么不能只使用选择器中的类而不是 id,如

jQuery('.commonClass');

于 2009-11-27T06:06:23.953 回答
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();
    });
});

替代的 JAVASCRIPT:

//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();
    });
});
于 2009-11-27T06:31:38.523 回答