Jquery показывает div с тем же классом, что и нажатая ссылка

#jquery #show

#jquery #показать

Вопрос:

У меня есть несколько divs, все из которых по умолчанию не отображаются. Каждый из них имеет тот же класс, что и ссылка для их закрытия. Мой код правильно получает класс щелкнутой ссылки, но я не могу понять, как настроить таргетинг на div с помощью переменной elementClass.

 $("a").click(function(){

    var elementClass = $(this).attr("class");
    $("div.elementClass").show();
    return false;

});
  

Ответ №1:

Вы должны объединить переменную

 $("a").click(function(){

    var elementClass = $(this).attr("class");
    $("div."   elementClass).show();
    return false;

});
  

и обратите внимание, что attr("class") возвращает все классы элемента, поэтому, если элемент имеет более одного класса, все они должны совпадать и т.д.

Комментарии:

1. Спасибо! Я знал, что это будет что-то подобное.

Ответ №2:

elementClass это переменная, поэтому вы должны относиться к ней как к единице. То, что вы ищете в своем вызове, — это div, класс которого называется elementClass, а вам это не нужно.

Вам нужно изменить его на следующий:

 $("div." elementClass).show();
  

Комментарии:

1. Очевидно, я знаю, что это переменная. Я просто не знал, как заставить его действовать как один.