Javascript 删除元素的所有类
我很难删除元素上的所有类,然后使用switch语句在不同的页面上添加所需的类Javascript 删除元素的所有类,javascript,jquery,Javascript,Jquery,我很难删除元素上的所有类,然后使用switch语句在不同的页面上添加所需的类 $(document).ready(function() { switch (window.location.pathname) { case '/': $("body").removeClass().addClass('homepage'); case '/users/sign_up': $('body').removeClass().addClass('contentpage'); } }); 我
$(document).ready(function() {
switch (window.location.pathname) {
case '/':
$("body").removeClass().addClass('homepage');
case '/users/sign_up':
$('body').removeClass().addClass('contentpage');
}
});
我不太确定document.ready是否是我需要的
我的问题是,我的选择器不再只是一个实体,它是一个类,但它可能是少数几个类名之一。。我怎么说得到body标签,不管它的类是什么,删除所有的类,然后添加我需要的
目前所发生的一切就是应用了额外的类名
有办法做到这一点吗
谢谢就绪回拨没有问题。但是您忘记了开关的一个中断,这使得“homepage”类总是被“contentpage”替换:
请注意,我使用了className属性而不是jQuery的函数,这里更简单。就绪回调没有问题。但是您忘记了开关的一个中断,这使得“homepage”类总是被“contentpage”替换: 请注意,我使用了className属性而不是jQuery的函数,这里更简单。使用jQuery
$(document).ready(function() {
switch (window.location.pathname) {
case '/':
$("body").attr('class', '').addClass('homepage');
case '/users/sign_up':
$('body').attr('class', '').addClass('contentpage');
}
});
使用jQuery
$(document).ready(function() {
switch (window.location.pathname) {
case '/':
$("body").attr('class', '').addClass('homepage');
case '/users/sign_up':
$('body').attr('class', '').addClass('contentpage');
}
});
如下所述:
因此,在你的情况下:
$(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;
}
});
编辑:现在有中断如下所示:
因此,在你的情况下:
$(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;
}
});
编辑:现在使用breaks对不起,但是如果您想要body,无论它有什么类,您仍然可以使用$body。。。。我遗漏了什么吗?好吧,这是我的想法,但它对我不起作用对不起,但是如果你想要身体,不管它有什么类,你仍然可以使用$body。。。。我是不是遗漏了什么?我是这么想的,但对我来说不起作用当路径名为/,这将类设置为contentpage。当路径名为/,这将类设置为contentpage。嗨,我是不是遗漏了什么?你能看看我对他的评论吗?@RoyiNamir我不知道你说了什么meant@dystroy他写的代码撇开了中断部分-应该可以工作$body.removeClass.addClass'homepage';-将从主体中删除类并设置自己的类class@RoyiNamir是的,它应该回到原来的代码,没有工作,添加了中断,我的代码也工作了,尽管我认为dystroy解决方案更干净、更高效。系统嗨,我是不是遗漏了什么?你能看看我对他的评论吗?@RoyiNamir我不知道你说了什么meant@dystroy他写的代码撇开了中断部分-应该可以工作$body.removeClass.addClass'homepage';-将从主体中删除类并设置自己的类class@RoyiNamir是的,它应该回到原来的代码,不起作用,添加了中断,我的代码也起作用了,尽管我认为dystroy解决方案更干净、更高效。这既错了,读我的答案,也让这么简单的事情变得难以置信的复杂。是的,我也没有安排好休息时间。虽然Richlewis说选择器不再是尸体了。在您的情况下,程序员选择正确的元素文档变得更加困难。。我讨厌那个。因此,我选择使用jQuery。特别是当这是超出每一页只有一次重新加载;今天的计算机不会在这么简单的计算上有太大的滞后。读我的答案是错误的,做这么简单的事情是非常复杂的。虽然Richlewis说选择器不再是尸体了。在您的情况下,程序员选择正确的元素文档变得更加困难。。我讨厌那个。因此,我选择使用jQuery。特别是当这是超出每一页只有一次重新加载;今天的计算机在这样一个简单的计算上不会有太大的滞后