wordpress用php或jQuery检查html类

I want to check the class of the html (there are posts and every category got a own class for background color) and then set the background. I wanted to to it with jQuery but it doesn't work because the first one is true so all get the same background.

My php code:

<div class="grid" >
<?php
  $args = array( 'post_type' => 'post' );
  $query = new WP_Query( $args );
  while ($query->have_posts()) : $query->the_post() ; ?>
    <div class="post grid-item <?php foreach((get_the_category()) as $category) { echo $category->cat_name; }  ?>" style='background:  url("<?php if (has_post_thumbnail()) { the_post_thumbnail_url(); }  ?>"); background-color:<?php  ?>' >
      <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
    </div>
  <?php endwhile;
  wp_reset_query();
?>
</div>

my jQuery code that doesn't work

//post background
var back_engagement = jQuery('.grid div').hasClass('engagement');
var back_unternehmen =  jQuery('.grid div').hasClass('unternehmen');
var back_forum = jQuery('.grid div').hasClass('forum');

if (back_engagement){
  jQuery('.grid-item').css({"backgroundColor": "#959595"});
}
else if (back_unternehmen) {
  jQuery('.grid-item').css({"backgroundColor": "#96A306"});
}
else if (back_forum) {
  jQuery('.grid-item').css({"backgroundColor": "#215270"});
}

For me it doesn't mater if the solution is with php or jQuery

doushibu2453
doushibu2453 检查jqueryhasClass这里是链接:api.jquery.com/hasclass
4 年多之前 回复
duangan6731
duangan6731 如何在css中定义这些类?或者我错过了一些下一级别的东西?
4 年多之前 回复

1个回答



您可以根据简单选择器设置CSS属性。</ p>

  jQuery('  .grid div.engagement')。css({“backgroundColor”:“#959595”}); 
jQuery('。grid div.unternehmen')。css({“backgroundColor”:“#96A306”});
jQuery ('.grid div.forum')。css({“backgroundColor”:“#215270”});
</ code> </ pre>


但是我 会建议你使用CSS中的类来设置它们</ p>

  .engagement {background-color:#959595;} 
</ code> </ pre>
</ div >

展开原文

原文

You can set the CSS property based on simple selector.

jQuery('.grid div.engagement').css({"backgroundColor": "#959595"});
jQuery('.grid div.unternehmen').css({"backgroundColor": "#96A306"});
jQuery('.grid div.forum').css({"backgroundColor": "#215270"});

However I would recommend you to set them using classes in CSS

.engagement{ background-color: #959595;}

douchungu0859
douchungu0859 谢谢您的帮助。 我是如此愚蠢,只是意识到当有两个类别时,类之间没有空格
4 年多之前 回复
dongmi19720408
dongmi19720408 呵呵! 你是对的! 但是使用类选择器比使用元素选择器(.grid-item)更好
4 年多之前 回复
dongni3854
dongni3854 如果仔细观察.grid div和grid-item是相同的元素,因为只有1个div
4 年多之前 回复
dongque8332
dongque8332 css正在申请网格元素...这是网格的孩子
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐