Как заменить специальный класс другим в jquery? - PullRequest
11 голосов
/ 15 февраля 2011

Например:

<li class="dataItem ready igto" status="ready">I will change status to waiting</li>

и затем я просто хочу изменить готовый класс на ожидание . Обычный способ - удаление класс готов и добавление нового класса!

, и другая ситуация - как заменить мультикласс сразу !?Например:

<!-- replace done wainting error to ready -->
<li class="dataItem done igto" status="ready">I will change status to ready</li>
<li class="dataItem waiting igto" status="ready">I will change status to ready</li>
<li class="dataItem error igto" status="ready">I will change status to ready</li>

до:

<li class="dataItem ready igto" status="ready">I will change status to waiting</li>

Большое спасибо !!

Ответы [ 2 ]

24 голосов
/ 15 февраля 2011

Вы можете использовать $.toggleClass() для достижения этой цели.

$("p").click(function(){
  // Replace 'done' with 'waiting' or 'waiting' with 'done'
  $(this).toggleClass("done waiting");   
});

Пример: http://jsfiddle.net/wH9x3/

21 голосов
/ 15 февраля 2011

Лучший способ - это сделать, как вы сказали, удалить класс, а затем добавить его снова, поскольку в jQuery нет «переключающихся» классов.

$('.dataItem').removeClass('ready').addClass('waiting');

Вы можете заменить несколько классов, передав более одного класса в .removeClass():

$('.dataItem').removeClass('done waiting error').addClass('ready');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...