这篇文章链接到了我的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发布于 2011-08-23 16:21:13
使用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>示例:http://jsfiddle.net/LDBUy/
发布于 2011-08-22 23:01:15
您应该能够使用.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');生成的超文本标记语言
<a id="myAnchor" href="#"></a>只需在您自己的代码中将“onmousedown”替换为“class”,您就应该是黄金级的。
编辑:我用一个例子更新了你另一个问题中的jsfiddle (去掉标题中的红色),它工作得很好。你能发布更多的代码来看看问题是否在其他地方吗?
http://jsfiddle.net/FrT6V/1/
https://stackoverflow.com/questions/7149358
复制相似问题