Это сводит меня с ума ... У меня есть функция javascript, которая переключает видимость элемента, который я передаю, используя методы HTML5. Я хочу поменять изображение, отображаемое тегом img внутри инициирующего элемента привязки, чтобы оно соответствовало состоянию расширенного или свернутого элемента.JQuery toggle() function: switch related img src
Я использую следующий код:
$('a.expand-collapse').click(function() {
var targetID = $(this).attr('data-expcoltarget');
var target = $('div#' + targetID);
debugger;
target.toggle('blind');
if (target.is(':visible')) imgSrc = contentRoot + 'images/collapse.gif';
else imgSrc = contentRoot + 'images/expand.gif';
$(this).find('img').first().attr('src', imgSrc);
});
К сожалению, target.is (': видимый') >> всегда < < возвращает истину, независимо от состояния видимости элемента мишени.
Что мне не хватает?
Edit:
Спасибо за то, что готов смотреть на разметку, но оказалось, что нет необходимости, чтобы найти решение.
Что такое «data-expcoltarget», это метод HTML5 для назначения произвольных значений элементам. Все, что содержит данные суффикса, игнорируется синтаксическим анализатором.
В этом примере я использую технику для передачи того, что составляет аргумент в функцию javascript. Это работает, потому что $ (this) указывает на элемент, вызвавший событие, поэтому я могу проверить его атрибуты для поиска аргумента.
plz опубликовать разметку HTML. – undefined
Что такое 'attr ('data-expcoltarget')'? – Dips