Javascript 如果div具有特定的类,则向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
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');
}
});