jQuery获取类并用于更改属性

时间:2016-03-15 02:30:42

标签: jquery css class

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

我的代码是

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

这给了我身体类(e01 c01 p01)。如果我想在函数中使用它或进行如下更改:

if($('.nav__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。

我希望这是有道理的

2 个答案:

答案 0 :(得分:0)

你应该爆炸所有返回的字符串,并用.

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

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

答案 1 :(得分:0)

您需要为每个类添加每个点,并在它们之间没有空格的情况下连接它们。您可以通过使用拆分和连接来实现这一目标("。")。



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

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<body class="a1 a2 a3 a4"></body>
&#13;
&#13;
&#13;