#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");
}