Как создать общую ссылку на идентификатор с помощью jQuery - PullRequest
1 голос
/ 27 ноября 2009

У меня около 6 элементов div с одинаковым классом. Когда я наведите курсор мыши на одну из них, я хочу показать еще один div рядом с ними.

Я думаю дать им всем идентификатор вида id = "mydiv-divname", где mydiv- всегда будет постоянным.

Как бы я сослался на элементы mydiv- *. Я не могу найти точный синтаксис, но я думаю, что это должно быть что-то вроде $ ("# mydiv -" [*]), где * представляет некоторый подстановочный знак.

Ответы [ 3 ]

3 голосов
/ 27 ноября 2009

Какой цели служит удостоверение личности? Если все они помечены одним и тем же именем класса, вы можете получить к ним доступ по классу:

`$(".className")...

Чтобы вызвать событие при наведении одного из этих элементов, используйте

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

Обратите внимание, что функция в hover () будет запускаться только для элемента, который на самом деле перемещается.

Они делают что-то похожее на то, чего вы пытаетесь достичь здесь - затухание одного или нескольких элементов при наведении курсора (из множества элементов на странице, отмеченной этим классом)

2 голосов
/ 27 ноября 2009

Кажется, вы собираетесь что-то вроде этого:

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();
    });
});
2 голосов
/ 27 ноября 2009

Почему нельзя просто использовать класс в селекторе вместо идентификатора, как в

jQuery('.commonClass');

...