Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery/Javascript在body标记上的一组类之间切换_Javascript_Jquery_Html - Fatal编程技术网

jQuery/Javascript在body标记上的一组类之间切换

jQuery/Javascript在body标记上的一组类之间切换,javascript,jquery,html,Javascript,Jquery,Html,在我的HTML结构中,有一组具有不同ID的span,我想通过每个span ID切换body标记上的类 例如,如果我单击带有ID\u 0的范围,我想在body标签上切换classID\u 0 如果我点击ID_1,那么移除其他的并添加我点击的 $(“.images”)。单击(函数(){ var id=$(this.attr(“id”); $(“body”).removeClass(“ID\u 0 ID\u 1 ID\u 2 ID\u 3”).addClass(ID); }); ID_0 ID_1

在我的HTML结构中,有一组具有不同ID的span,我想通过每个span ID切换body标记上的类
例如,如果我单击带有ID\u 0的范围,我想在body标签上切换classID\u 0 如果我点击ID_1,那么移除其他的并添加我点击的

$(“.images”)。单击(函数(){
var id=$(this.attr(“id”);
$(“body”).removeClass(“ID\u 0 ID\u 1 ID\u 2 ID\u 3”).addClass(ID);
});

ID_0
ID_1
ID_2
身份证3

下面的代码将删除任何以
ID\uu
开头的类,因为这是您的“通配符”

$(“.images”)。单击(函数(){
var id=$(this.attr(“id”);
$(“body”).removeClass(函数(索引,类名){
return(className.match(/(^ |\s)ID\us+/g)| |[])。join(“”);
});
$(“正文”).addClass(ID);
});

ID_0
ID_1
ID_2
身份证3

下面的代码将删除任何以
ID\uu
开头的类,因为这是您的“通配符”

$(“.images”)。单击(函数(){
var id=$(this.attr(“id”);
$(“body”).removeClass(函数(索引,类名){
return(className.match(/(^ |\s)ID\us+/g)| |[])。join(“”);
});
$(“正文”).addClass(ID);
});

ID_0
ID_1
ID_2
身份证3

据我所知,您希望每次都重写body的类,是吗?我认为使用香草JavaScript最方便。请参阅下面的代码片段

$(“.images”)。单击(函数(){
var id=$(this.attr(“id”);
document.body.classList='';//空类列表
document.body.classList+=ids;//可以将这两条语句合并到document.body.classList=ids中;
console.log(document.body.classList);//调试
});

ID_0
ID_1
ID_2
身份证3

据我所知,您希望每次都重写body的类,是吗?我认为使用香草JavaScript最方便。请参阅下面的代码片段

$(“.images”)。单击(函数(){
var id=$(this.attr(“id”);
document.body.classList='';//空类列表
document.body.classList+=ids;//可以将这两条语句合并到document.body.classList=ids中;
console.log(document.body.classList);//调试
});

ID_0
ID_1
ID_2
身份证3
您可以试试这个

$(“.images”)。单击(函数(){
var id=$(this.attr(“id”);
$(“body”).attr(“class”和“).addClass(id);
});

ID_0
ID_1
ID_2
身份证3
您可以试试这个

$(“.images”)。单击(函数(){
var id=$(this.attr(“id”);
$(“body”).attr(“class”和“).addClass(id);
});

ID_0
ID_1
ID_2
身份证3

如果body有一个类,比如说“blue”,那么您也会删除它that@CarstenL是的。我就是这样理解这个问题的。但是我承认,我更喜欢你的答案(让我投赞成票)。不,我不想清空body类,我有一堆其他css类在body标记中使用这将在单击时清空所有内容:D抱歉,如果我的帖子让人困惑,html结构只是为了显示我试图做的事情:)如果body有一个类,让我们说“blue”然后,您还将删除that@CarstenL是的。我就是这样理解这个问题的。但是我承认,我更喜欢你的答案(让我投赞成票)。不,我不想清空body类,我有一堆其他css类使用in-body标记这将在点击时清空所有内容:D抱歉如果我的帖子让人困惑,html结构只是为了显示我试图做的事情:)可能重复的可能重复的抱歉,这将在单击时清空body类,这将导致问题,因为我有很多css类在body标记中使用抱歉,这将在单击时清空body类,这将导致问题,因为我有很多css类在body标记中使用
$("body").removeClass(function(index, className) {
    return (className.match(/(^|\s)ID_\S+/g) || []).join(' ');
});