Удалить класс полностью с MooTools - PullRequest
3 голосов
/ 22 августа 2011

Этот пост связан с моим предыдущим .

Благодаря ответу Pointy я смог правильно использовать RemoveClass с MooTools, но, к сожалению, у меня все еще есть проблема: даже после удаления класса из элемента HTML элемент HTML все еще имеет пустой класс (class = "").

Мне интересно, есть ли способ избежать этого и полностью удалить класс.

мой код:

<script type="text/javascript">
  window.addEvent('domready', function(){
    $('votconj').addEvent('click', function() {
      $('first_name_conjoint').addClass("validate['required','nodigit']");
      $('last_name_conjoint').addClass("validate['required','nodigit']");
      $('jj_conjoint').addClass("validate['required']");
      $('mm_conjoint').addClass("validate['required']");
      $('aaaa_conjoint').addClass("validate['required']");
      $('conjoint_regime').addClass("validate['required']");
      new FormCheck('formulaire');
    });

    $('votconj_no').addEvent('click', function() {
      $('first_name_conjoint').removeClass("validate\\['required','nodigit'\\]");
      $('first_name_conjoint').removeProperty('class');
      $('last_name_conjoint').removeClass("validate\\['required','nodigit'\\]");
      $('last_name_conjoint').removeProperty('class');
      $('jj_conjoint').removeClass("validate\\['required'\\]");
      $('jj_conjoint').removeProperty('class');
      $('mm_conjoint').removeClass("validate\\['required'\\]");
      $('mm_conjoint').removeProperty('class');
      $('aaaa_conjoint').removeClass("validate\\['required'\\]");
      $('aaaa_conjoint').removeProperty('class');
      $('conjoint_regime').removeClass("validate\\['required'\\]");
      $('conjoint_regime').removeProperty('class');
      new FormCheck('formulaire');
    });

    new FormCheck('formulaire');
});
</script>

код переключателя

<label>Conjoint :</label>
    <input type="radio" name="votconj" id="votconj" value="oui" onclick="affich_conj();">oui
    <input type="radio" name="votconj" id="votconj_no" value="non" checked="checked" onclick="affich_conj();">non

Ответы [ 2 ]

5 голосов
/ 23 августа 2011

Используйте removeAttribute, предоставляемый самим JavaScript.Он полностью удалит атрибут из тега:

<a href="" class="foo" id="link">Hay</a>

<script>
var link = $('link');
link.removeAttribute('class');
console.log(link);  // <a id="link" href="">
</script>

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

2 голосов
/ 22 августа 2011

Вы должны иметь возможность использовать метод .removeProperty () для удаления атрибута класса.

http://mootools.net/docs/core/Element/Element#Element:removeProperty

Их пример:

HTML

<a id="myAnchor" href="#" onmousedown="alert('click');"></a>

JavaScript

//Eww... inline JavaScript is bad! Let's get rid of it.
$('myAnchor').removeProperty('onmousedown');

Результирующий HTML

<a id="myAnchor" href="#"></a>

Просто поменяйте 'onmousedown' на 'class' в вашем собственном коде, и вы должны быть золотым.

РЕДАКТИРОВАТЬ: я обновил jsfiddle из вашего другого вопроса с примером этого (удаление красного цвета из заголовка), и он работает нормально. Можете ли вы опубликовать больше своего кода, чтобы увидеть, если проблема в другом месте?

http://jsfiddle.net/FrT6V/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...