我有这个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元素中获取所有类,然后在博客类存在的情况下扫描类,如果找到了blog类,那么它应该添加这个
<div class="pagination">hello</div>
之后
<div class="content">..
到目前为止,上面的代码不幸没有用,所以目前我正在寻找一些关于我的问题的解决方案,但到目前为止看起来很不幸。
请更正我的代码,我打开任何建议,建议和想法。谢谢!
答案 0 :(得分:3)
尝试使用.hasClass()
if ( $("body").hasClass("blog") ){
使用.find(),您将获得由选择器过滤的身体后代,女巫不是您想要的
另外,要添加分页div,我建议:
$('<div>', {
"class": "pagination",
"html": "hello"
}).insertAfter('.content');
答案 1 :(得分:1)
尝试,例如:
if($('body').hasClass('blog')){
$('.content').each(function(){
$(this).after("<div class='pagination'>Hello!</div>");
});
}
请参阅,
了解更多信息。版本信息位于右侧的水平蓝色。
答案 2 :(得分:0)
我想你可以做到
if ($(" body .blog")){
//do stuff
}
这样,如果正文中没有元素.blog
,则选择器将返回undefined,因此条件将为false。
答案 3 :(得分:0)
您可以使用$('body.blog').size()
在课堂博客中测试身体。
如果您想避免使用if语句,可以尝试:
function AppendPagination() {
($('body.blog').size() > 0) &&
$('.content').after("<div class='pagination'>hello</div>");
}
当body.blog
不存在时,这将短路执行。