如果带有'refinement_category_item'类的div下面的div有一个style =“display:none”,我想在div上添加一个类'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');
}
});
答案 0 :(得分:7)
var div = $('.refinement_category_item');
if ( ! div.is(':visible')) {
div.parent().addClass('backgroundfilter');
}
一些说明......
this
由jQuery设置 - 它不是由if
构造设置的。is(':visible')
是jQuery方式。addClass()
添加课程时,您不必将前导.
放在那里。$(function() { ... })
,然后将脚本内联到DOM元素下。答案 1 :(得分:2)
$(".refinement_category_item:hidden").prev()
.children('.catresults').addClass('backgroundfilter');
答案 2 :(得分:1)
您使用$(this)
代码不知道$(this)
是什么。你也应该在那里使用$(".refinement_category_item")
。
同样$(".refinement_category_item").css('display')== 'none'
也可能是$(".refinement_category_item").is(':hidden')
答案 3 :(得分:0)
试试这个:
$(document).ready(function(){
if($(".refinement_category_item").is(":visible")){
$(".refinement_category_item").parent().find("div.catresults").addClass('.backgroundfilter');
}
});
答案 4 :(得分:0)
我更倾向于做这样的事情。未经测试的代码,但原则是合理的。
HTML:
<div class="refinement_category_section">
<div class="find_by_category_text">
<div class="catresults">By Category</div>
</div>
<div class="refinement_category_item"> <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>
JS:
<script>
$(document).ready(function(){
if($(".refinement_category_item").not(":visible")) {
$(this).parent().addClass(".backgroundfilter");
}
});
</script>