这篇文章与我的previous one相关联。
我能够感谢Pointy使用MooTools正确使用RemoveClass的答案,但不幸的是我仍有问题:即使从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
答案 0 :(得分:5)
使用JavaScript本身提供的removeAttribute
。它将完全删除标记中的属性:
<a href="" class="foo" id="link">Hay</a>
<script>
var link = $('link');
link.removeAttribute('class');
console.log(link); // <a id="link" href="">
</script>
答案 1 :(得分:2)
您应该能够使用.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的例子(从标题中删除了红色),它运行正常。您可以发布更多代码以查看问题是否在其他地方吗?