Javascript 如果div具有特定的类,则向div添加类

Javascript 如果div具有特定的类,则向div添加类,javascript,jquery,addclass,Javascript,Jquery,Addclass,在这里,如果div有特定的类blog post,我试图在blog post中添加类alignright,但是下面的代码不起作用,请帮助我解决这个问题 <div class="switches"> <span class="blog off">Blog</span> </div> <div class="timeline"> <script> $(".switches span").click(func

在这里,如果div有特定的类
blog post
,我试图在
blog post
中添加类
alignright
,但是下面的代码不起作用,请帮助我解决这个问题

<div class="switches">
    <span class="blog off">Blog</span>
</div>
<div class="timeline">
    <script>
    $(".switches span").click(function(){
        $(this).closest("span").toggleClass('off');
        if ( $( this ).hasClass( "blog off" ) ) {
            $('.timeline').first().removeClass('timeline').  
            children('div').hasClass('blog-post').addClass('alignright');            
        }
    });
    </script>
    <div class="single-post single-post blog-post"> 
        <div class="single-post single-post web-post"></div>
    </div>
</div>

博客
$(“.switches span”)。单击(函数(){
$(此).toggleClass('off');
if($(this.hasClass(“blog off”)){
$('.timeline').first().removeClass('timeline')。
children('div').hasClass('blog-post').addClass('alignright');
}
});
函数的作用与代码所认为的不同。它总是只返回一个布尔值。您需要
.filter()


博客
$(“.switches span”)。单击(函数(){
$(this.toggleClass('off');
if($(this.hasClass(“blog off”)){
var mydiv=$(this.parent().next();
mydiv.removeClass(“时间线”);
mydiv.find('div.blog-post').addClass('alignright');
}
});

问题在于hasClass()方法,它将返回一个布尔值,因此在此之后调用
addClass
将失败

$(".switches span").click(function () {
    //this is the span
    $(this).toggleClass('off');
    if ($(this).hasClass("off")) {
        $(this).next('div.blog-post').addClass('alignright');
    }
});

你的代码看起来乱七八糟。是打字错误吗?您的代码没有脚本标记、jquery引用等。这不是添加jquery代码的正确位置。html中的
timeline
元素在哪里?
hasClass
不接受空格分隔的多个类
    <div class="switches">
       <span class="blog off">Blog</span>
    </div>
    <div class="timeline">
         <div class="single-post single-post blog-post"></div>
         <div class="single-post single-post web-post"></div>             
    </div>



   <script>
        $(".switches span").click(function(){
            $(this).toggleClass('off');

            if ($(this).hasClass("blog off")) {
                var mydiv = $(this).parent().next();
                mydiv.removeClass('timeline');
                mydiv.find('div.blog-post').addClass('alignright');

            }
        });
   </script>
$(".switches span").click(function () {
    //this is the span
    $(this).toggleClass('off');
    if ($(this).hasClass("off")) {
        $(this).next('div.blog-post').addClass('alignright');
    }
});