Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.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获取类并用于更改属性_Jquery_Css_Class - Fatal编程技术网

jQuery获取类并用于更改属性

jQuery获取类并用于更改属性,jquery,css,class,Jquery,Css,Class,如果我想获取页面的body类,然后在函数中使用该类。如何在类中添加(点) 我的代码是 var wotClass=$('body').attr('class') 这使我的车身等级为(e01 c01 p01)。如果我想在函数中使用此选项或进行如下更改: if($('.nav\u items').css('display')=='block'){ $(wotClass+'.chapter_link').attr('aria-expanded','true'); } 问题是这调用的是(e01 c03 p

如果我想获取页面的body类,然后在函数中使用该类。如何在类中添加(点)

我的代码是

var wotClass=$('body').attr('class')

这使我的车身等级为(e01 c01 p01)。如果我想在函数中使用此选项或进行如下更改:

if($('.nav\u items').css('display')=='block'){
$(wotClass+'.chapter_link').attr('aria-expanded','true');
} 问题是这调用的是(e01 c03 p01.chapter_link)而不是(.e01.c03.p01.chapter_link)

有没有可能做到这一点。提前谢谢

我想要达到的是。根据车身类别,菜单的一部分将展开。默认属性为:
$('.chapter_link').attr('aria-expanded','false')

因此,如果body类为(e1 c03 p01),则该属性将更改为true


我希望这是有意义的

您应该分解所有返回的字符串,并使用
对其进行压缩:

var 
    wotClass = $('body').attr('class'),
    exp      = wotClass.split(' '),
    newClass = $.map(exp, function (e, i) {
         return '.' + e;
    }).join( ' ' );

$(newClass+ ' .chapter_link').attr('aria-expanded' , 'true');

您应该分解所有返回的字符串,并使用

var 
    wotClass = $('body').attr('class'),
    exp      = wotClass.split(' '),
    newClass = $.map(exp, function (e, i) {
         return '.' + e;
    }).join( ' ' );

$(newClass+ ' .chapter_link').attr('aria-expanded' , 'true');

您需要将每个点添加到每个类中,并在它们之间不留空格。您可以通过使用split和join(“.”)来实现这一点

var wotClass=“.”+$('body').attr('class').split(/\s+/).join(“.”);
document.write(wotClass)

您需要在每个类中添加每个点,并在它们之间不留空格。您可以通过使用split和join(“.”)来实现这一点

var wotClass=“.”+$('body').attr('class').split(/\s+/).join(“.”);
document.write(wotClass)


这真是太棒了。非常感谢所有人的帮助。我认为您应该对此
进行解释。拆分(/\s+/)
非常有效。非常感谢所有人的帮助。我想你应该包括对此的解释。
.split(/\s+/)
谢谢Norlihazmey Ghazali。两种方法都有效,但结果略有不同。知道这两件事都很有用。谢谢诺里哈兹梅·加扎利。两种方法都有效,但结果略有不同。了解这两种情况都很有用。