//style
.TemplateBox1{display:none;}
//Html
<div class="TemplateBox1" id="9"> 1 </div>
<div class="TemplateBox1" id="10"> 2 </div>
<div class="TemplateBox1" id="11"> 3 </div>
//jQuery
$('div', this).each(function (e) { //Do something });
这是我的代码的一部分,在开始时divs显示(CSSproperty)是none(未显示),在用户点击某个按钮后,div的属性变为block(显示)。我只需要选择它们的属性显示的div:使用jQuery阻止,我试过:
$('div', this).**css("display")=="block"**.each(function (e) { //Do something }); - didn't work..
我需要添加到我的jQuery ...
答案 0 :(得分:6)
尝试使用:visible
选择器,
$('div:visible')
您似乎正在使用TemplateBox1
类隐藏这些元素,因此您也可以这样写,即使用:not()
选择器
$('div:not(.TemplateBox1)')
答案 1 :(得分:5)
试试这个::visible
div选择器
$(this).find('div:visible').each(function(){
// do stuff here
});
答案 2 :(得分:0)
一种方式是$('div:visible')
另一种方式是(Demo)
$('.TemplateBox1', this).each(function (e) {
var $css = $(this).css('display');
if($css == 'none'){
$(this).css('display','block')
}
});
答案 3 :(得分:0)
为什么不使用纯JS?
var list = document.getElementsByTagName("div");
foreach(var i = 0;i < list.length, i++)
{
if(list[i].style.display == "block")
{
// do Something;
}
}