1

我有这个html结构

<body class="blog page current-page page-50452">

    <div class="content"></div>

</body>

我想扫描 body 元素中的类,然后如果在 body 元素中找到指定的类,则将执行一个过程,概念如下:

//the jquery/javascript version..

var cc = $('body').find('.blog'); //this assume to find the blog class in the body element..

if ( if the blog class has found in the body element then..){

//this is the work that i want to implement, like, it add another div with class and contents after the <div class="content">

$('.content').after('<div></div>').addClass('pagination').html('hello');

}else{

// here if the blog class is not found in the body element.

}

正如你在上面的代码中看到的那样,它首先从body元素中获取所有类,然后扫描类是否存在博客类,如果找到了博客类,则应该添加这个

<div class="pagination">hello</div>

之后

<div class="content">..

到目前为止,不幸的是,上面的代码不起作用,所以目前我正在寻找一些关于我的问题的解决方案,但到目前为止,我似乎很不幸。

请更正我的代码,我在任何建议、建议和想法中都开放。谢谢!

4

4 回答 4

3

尝试使用.hasClass()

if ( $("body").hasClass("blog") ){

使用.find()你得到了选择器过滤的身体的后代,女巫不是你想要的

另外,要添加分页 div,我建议这样做:

$('<div>', {
    "class": "pagination",
    "html": "hello"
}).insertAfter('.content');
于 2013-07-05T00:13:06.870 回答
1

尝试,类似:

if($('body').hasClass('blog')){
  $('.content').each(function(){
    $(this).after("<div class='pagination'>Hello!</div>");
  });
}

看,

http://api.jquery.com/after/

了解更多信息。版本信息位于右侧的水平蓝色中。

于 2013-07-05T00:24:12.887 回答
0

我想你可以做到

if ($(" body .blog")){
//do stuff
}

这样,如果.blogbody 中没有元素,则选择器将返回 undefined,因此条件为 false。

于 2013-07-05T00:13:48.867 回答
0

您可以使用 .class 博客测试正文$('body.blog').size()

如果你想避免 if 语句,你可以尝试:

function AppendPagination() {
  ($('body.blog').size() > 0) &&
  $('.content').after("<div class='pagination'>hello</div>");
}

当不存在时,这将使执行短路。body.blog

于 2013-07-05T01:09:17.563 回答