Как переопределить класс с помощью jquery - PullRequest
9 голосов
/ 24 февраля 2010

Класс jQuery CSS устанавливает следующее:

 .newwidget { border: 1px solid #5a9ee9; background: #5a9ee9 url(t6.gif) 50% 50% repeat-x; color: #ffffff; font-weight: bold; text-transform: uppercase; padding:3px 3px 3px 10px; font-size:10px}

Как этот класс можно переопределить и добавить новый класс, чтобы я мог добавлять в него разные стили?Может быть, я должен удалить перед занятиями, прежде чем добавлять их.Как это сделать?

Спасибо

Ответы [ 6 ]

17 голосов
/ 24 февраля 2010

Используйте селектор классов с addClass и removeClass.

$('.newwidget').removeClass('newwidget').addClass('newerwidget');
6 голосов
/ 24 февраля 2010

jQuery определяет addClass() и removeClass() только для этой цели:

$("#ElementId").removeClass('oldClassName').addClass('newClassName');

Две функции делают очевидное. Приведите их в цепочку, чтобы изменить класс в одном действии.

Если вы хотите изменить все элементы со «oldClass» на «newClass», вы можете использовать селектор вот так:

$(".oldClassName").removeClass('oldClassName').addClass('newClassName');
4 голосов
/ 24 февраля 2010

Вы можете удалить старый класс и добавить новый:

$myJQObject.removeClass('newwidget').addClass('newclass');
3 голосов
/ 30 сентября 2016

Думаю, стоит отметить, что вы можете удалить все классы, отключив параметр от removeClass():

$('.newwidget').removeClass().addClass('newerwidget');
2 голосов
/ 10 января 2017

Если вы хотите полностью заменить существующие классы элемента, вы можете использовать метод .attr ().

$('#elementId').attr('class', 'newClassName');

Любые классы по elementId будут заменены.

2 голосов
/ 24 февраля 2010
$(this).removeClass('oldClass').addClass('newClass');
...