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 ответа
Решение
Посмотрите на эту скрипку:
Я сделал несколько небольших модификаций вашего оригинального JS.
$(document).ready(function () {
$('div.jobs').mouseenter(function () {
var id = $(this).attr("data-item");
$("#" + id).toggle();
});
});
Вы забыли положить $. пытаться
var id = $(this).attr("data-item");