2011-05-18 3 views
1

Я хотел бы знать, как удалитьClass по имени класса с помощью jquery. Я знаю, как это сделать по ID. Я пытаюсь это:addClass/removeClass по имени класса (не ID)

var ButtonNumber = document.querySelectorAll(".ButtonStyleClicked"); 

for (var i = 0; i < ButtonNumber.length; i++) { 
    var ClassName = ButtonNumber[i]; 
    $('.' + ClassName).removeClass('ButtonStyleClicked'); 

    } 

Удаление класса по идентификатору работает следующим образом:

var ID = document.getElementById(Whatever); 

$('#' + ID).removeClass('ButtonStyleClicked'); 

Решена проблема:

querySelectorAll был отстреливаться элемент DIV. Так что я застрял только результат в классе REMOVE и работал:

var ButtonNumber = document.querySelectorAll(".ButtonStyleClicked"); 

for (var i = 0; i < ButtonNumber.length; i++) { 
    var ClassName = ButtonNumber[i]; 
    $(ClassName).removeClass('ButtonStyleClicked'); 

    } 

ответ

3

Вы пытаетесь найти элементы с ButtonStyleClicked класса, чтобы удалить класс из?

$('.ButtonStyleClicked').removeClass('ButtonStyleClicked'); 

(Если вам нужно сохранить имя класса в переменной :)

var className = 'ButtonStyleClicked'; 
$('.' + className).removeClass(className); 
+0

Я понял проблему и обновил мой вопрос. Спасибо за помощь. – Derek

0

Я бы сказал, вы можете использовать любой селектор. Скажем,

var className = "myClass"; 
$("."+className).removeClass(className); 

Вы можете использовать как можно больше элементов и комбинаций элементов выбора. Например; в случае, если вы просто хотите, чтобы удалить определенный класс от <p> тегов, которые являются детьми в <div> тег с идентификатором «myDiv», это было бы что-то вроде:

$("div#myDiv p."+className).removeClass(className); 
Смежные вопросы