如果body类与另一个类相同,则添加一个新类

时间:2014-03-10 14:20:55

标签: jquery wordpress

我正在尝试将body类(由Wordpress自动生成)与li类(也是自动生成的)进行匹配。如果匹配,那么我需要在li中添加一个新类。

E.g

如果bodyclass="postid-621"并且页面上的liclass="postid-621",那么我需要在名为{{1}的li中输入新类}}

请记住,id是自动生成的,所以我不能只是硬编码。

这甚至可能吗?

3 个答案:

答案 0 :(得分:1)

你有一个严重的问题,在Wordpress中,身体通常有很多类,标准主题有类似的东西:

 <body class="single single-post postid-621 single-format-standard masthead-fixed singular">

所以你必须实际获得postid课程,并比较数字,因为这可能是你想要的。

$('#test').attr('class').split(/\s+/).filter(function(k) {
    if ( $.trim(k).indexOf('postid') === 0 ) {
        $('li.' + $.trim(k)).addClass('new_class_to_add');
    }
});

获取class属性并比较它将在Wordpress中失败

答案 1 :(得分:0)

使用此

    $(document).ready(function () {
        if ($("body").attr("class") == $("#liId").attr("class")) {
            $("#liId").addClass("newclass");
        }

    });

修改

if( $("li").hasClass($("body").attr("class")))
{
   $("li").addClass("newclass");
  }

答案 2 :(得分:0)

我假设您发布的类名只是一个示例,并且您希望将该类分配给与正文具有相同类别的任何li

jQuery(function($){
    var clazz = $('body').attr('class');
    if(clazz){
        $('li.' + clazz).addClass('current-product')
    }
})