删除元素的所有类
removing all classes for an element
我很难删除一个元素上的所有类,然后使用switch语句在不同的页面上添加我想要的类
$(document).ready(function() {
switch (window.location.pathname) {
case '/':
$("body").removeClass().addClass('homepage');
case '/users/sign_up':
$('body').removeClass().addClass('contentpage');
}
});
我不太确定是否有文件。我也需要什么?
我的问题是,我的选择器不再只是主体,它是一个类,但它可能是少数几个类名之一。。我该怎么说"获取body标记,不管它的类是什么,删除所有类,然后添加我需要的"?
目前所发生的一切都是额外的类名被应用
有办法做到这一点吗?
感谢
ready
回调没有问题。但是您忘记了switch
中的break
,这使得'homepage'
类总是被'contentpage'
:替换
$(function() {
switch (window.location.pathname) {
case '/':
document.body.className = 'homepage';
break;
case '/users/sign_up':
document.body.className = 'contentpage';
break;
}
});
注意,我使用了className
属性而不是jQuery的函数,这里要简单得多。
如jquery.com上所述:
$("body").removeClass(function() {
return $(this).attr("class");
});
所以在你的情况下:
$(document).ready(function() {
switch (window.location.pathname) {
case '/':
$("body").removeClass(function(){return $(this).attr("class")}).addClass('homepage');
break;
case '/users/sign_up':
$('body').removeClass(function(){return $(this).attr("class")}).addClass('contentpage');
break;
}
});
编辑:现在有中断
使用jQuery,
$(document).ready(function() {
switch (window.location.pathname) {
case '/':
$("body").attr('class', '').addClass('homepage');
case '/users/sign_up':
$('body').attr('class', '').addClass('contentpage');
}
});
相关文章:
- 删除对HTML元素的拖动
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 从所有元素中删除HTML5验证
- 如何检查元素的内容是否为空,如果为空,请在jquery中删除该元素
- 从组件状态的数组中删除元素
- angularjs删除动态形式元素中的特殊字符
- Mongoose-在更新中删除数组元素
- 从数组中删除元素的最佳方法是:javascript/jquery
- 删除不起作用的父元素和所有子元素
- 一些元素没有从数组中删除
- 正在尝试删除子元素的最后一个子元素
- JavaScript-如何按类查找元素并删除此类
- 正则表达式条件来删除元素
- Small Javascript从动态表单中删除多个元素的问题
- javascript:在元素删除后停止setInterval
- JQUERY:动态 AJAX 和 html 元素删除
- AngularJS ngRepeat元素删除
- AngularJS & lt; select>使用ng-model和ng-options在元素删除时被破坏
- jQuery UI datetimepicker绑定到错误的输入后DOM元素删除
- 防止 jQuery 在元素删除时取消绑定事件