jquery найти ссылку, которая имеет то же значение идентификатора, что и значение класса другого элемента

#jquery

#jquery

Вопрос:

 var currentId = $('#nav a').attr('id');
var currentClass = $('#circle-inner h1').attr('class');
if(currentClass == currentId) {
  $('#nav a').addClass("current");
}
  

я хочу сравнить два значения и, если они совпадают, сделать что-нибудь (addClass)

это то, чего я пытаюсь достичь с помощью этого фрагмента кода…

я не могу указать значение класса. их слишком много.

Спасибо.

Ответ №1:

Если ваш элемент имеет более одного класса, используйте метод hasClass

Ответ №2:

У #circle-inner h1 есть только один класс?

 var currentClass = $('#circle-inner h1').attr('class');
$("#nav a#"   currentClass).addClass("current");
  

или, если h1 имеет более одного класса, или для отмены проверки попробуйте:

   $("#nav a").each(function (i) {
  var currentId = $(this).attr('id');
    if ($('#circle-inner h1').hasClass(currentId)) {
      $(this).addClass('current');
     }
  });
  

Ответ №3:

Вместо прямого равенства попробуйте выполнить тест регулярного выражения:

 var currentId = $('#nav a').attr('id');
var currentClass = $('#circle-inner h1').attr('class');
if(new RegExp(currentClass).test(currentId)) {
  $('#nav a').addClass("current");
}