jquery如果div显示没有父类的addclass

Tod*_*ddN 3 jquery if-statement parent

如果带有'refinement_category_item'类的div下面的div有一个style ="display:none",我想在class上添加一个类'catresults'.

 <div class="refinement_category_section">
    <div class="find_by_category_text">
      <div class="catresults">By Category</div>
    </div>
    <div class="refinement_category_item" style="display: none"> <a onclick="Add_Search_Param('cat', '2847'); Refine();" href="javascript: void(0);" class="refinement_category_link"> <span class="refinement_category_text">Back Bar Coolers (61)</span> </a> </div>



   $(document).ready(function(){
  if($(".refinement_category_item").not(":visible")){
  $(".refinement_category_item").parent().find("div.catresults").addClass('backgroundfilter');
  }
});
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 7

var div = $('.refinement_category_item');

if ( ! div.is(':visible')) {
   div.parent().addClass('backgroundfilter');
}
Run Code Online (Sandbox Code Playgroud)

一些笔记......

  • this由jQuery设置 - 它不是由if构造设置的.
  • 使用is(':visible')是jQuery方式.
  • 添加课程时addClass(),你不要把领导放在.那里.
  • 一般来说,最好先使用DOM,$(function() { ... })然后将脚本内联到DOM元素下.