如何使用jQuery创建通用id引用

时间:2009-11-27 06:04:59

标签: jquery variable-names

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

我正在考虑给他们所有形式为id =“mydiv-divname”的id,其中mydiv-将永远是常量。

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

3 个答案:

答案 0 :(得分:3)

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

`$(".className")...

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

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

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

他们做了类似于你想要实现的事情here - 在悬停时淡入或淡出一个元素(标记有该类的页面上的许多元素)

答案 1 :(得分:2)

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

jQuery('.commonClass');

答案 2 :(得分: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();
    });
});