功能需要:
需要筛选①ID以“pop”结尾 ,②display属性值为block的DIV的个数。
起初想到的写法:
$("div[id$='pop'][style='display:block']").length;
结果发现这个写法没有找到一个div,原因是:
在html中我的属性写法为:style="display: block"(block前有一个空格)。
以下内容引自此处
jQuery的[] 选择器是找属性值完全等于某个值 也就是说 少一个分号 少一个空格 那都无法匹配到的
如果你完全可以保证 style=""里面肯定等于 display: block; 而且 空格什么都匹配那才能成功
这里 就是因为你少了一个分号吧 当然 你可以设置 $("div[style^='display: block']"); ^=就是说 以display: block 开头的
或者 把你那分号加上试试
这样做偶合性太高了 差个空格都不行
最终放弃使用JQuery的筛选器叠加,代码改为:
//显示中的popupDiv个数
var popingDivLength = 0;
$.each($("div[id$='pop']"),function(i,divarea){
if($(divarea).css("display")==="block"){
popingDivLength+=1;
}
});