JQuery передает идентификатор элемента для события переключения

Я пытаюсь передать данные атрибута div в качестве идентификатора элемента. У меня есть пара элементов div в паре, первый как своего рода заголовок, идентифицирующий что во втором, невидимом элементе div. Я пытаюсь переключить второй div, видимый через событие mouseenter первого. Я пытаюсь сделать это с одной функцией для всей группы, а не для каждой пары.

Мой код выглядит следующим образом:

$(document).ready(function () {
    $('div.jobs').mouseenter(function () { 
        var id = (this).attr("data-item");
        $($("#"+ id).toggle());
    });
});

HTML следующим образом:

<div class="jobs" id="ident" data-item="data"> test div</div>
<br />
<div class="jobs" id="data" style="display:none">Some Data</div>
<br />
<div class="jobs" id="ident1" data-item="data1"> test div 2</div>
<br />
<div class="jobs" id="data1" style="display:none">Some Other Data</div>
<br />

Похоже, это должно работать. Я получаю идентификатор div, который я хочу переключить с элемента данных предыдущего div, когда я запускаю событие ввода мыши, но оно не переключается. Я должен что-то упустить.

2 ответа

Решение

Посмотрите на эту скрипку:

http://jsfiddle.net/z26ogdzq/

Я сделал несколько небольших модификаций вашего оригинального JS.

$(document).ready(function () {
    $('div.jobs').mouseenter(function () {
        var id = $(this).attr("data-item");
        $("#" + id).toggle();
    });
});

Вы забыли положить $. пытаться

var id = $(this).attr("data-item");
Другие вопросы по тегам