使用& # 39;:隐藏# 39;选择器查找jquery中的隐藏元素
Using ':hidden' selector to find hidden elements in jquery
在jQuery中,我可以使用$(':hidden')
来查找隐藏元素,但我不想包含0大小的元素(width=0 and height=0
)。
如何实现这一点?
我不能只判断它的大小是否为0,因为如果它的父元素之一是隐藏的,我也想选择它。
例如:<img id="e1" width="0" height="0" />
<div style="display:none;">
<img id="e2" width="0" height="0" />
</div>
<script>
// I want to select "e2",but not "e1"
var myelems = $('img:hidden');
</script>
我想选择"e2",但不是"e1"
像这样?
if (element.is(':hidden') && element.width() != 0 && element.height != 0) {
//do some stuff
}
使用过滤器 jquery
$(':hidden').filter(function(){
return $(this).width()!=0 && $(this).height()!=0;
});
可以尝试使用jQuery的not方法或not选择器来解决您的问题。例如,
$(document).ready(function() {
console.log($(":hidden").not($("input[width=0],input[height=0]")));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>Check the output in console</h1>
<input type="hidden" name="a1" id="a1" value="a1">
<input type="hidden" name="a2" id="a2" value="a2">
<input type="hidden" name="b1" id="b1" width=0 height=0 value="a3">
试试! !
如果你将style属性设置为display: none;
(或使用jQuery的。hide()),你可以使用这个
$('*[style*="display: none;"]');
jQuery('elem:hidden').each(function(ind){
if(jQuery(this).height() > 0 && jQuery(this).width() > 0){
console.log(jQuery(this))
}
});
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 随时隐藏元素
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 隐藏元素直到加载完成(ng斗篷不是我需要的)
- 在具有类的元素中隐藏元素
- javascript()onclick隐藏元素-dos'我不在firefox工作
- JQueryHide()在按钮中使用元素时不会隐藏元素
- 使用Javascript取消隐藏元素
- 如果鼠标离开父对象,则隐藏元素
- 如何在jquery ajax成功html响应中找到输入隐藏元素
- 基于事件在循环中隐藏元素
- 渐进式增强-不使用CSS隐藏元素
- 隐藏元素后更新滚动条
- jQuery没有隐藏元素
- jQuery隐藏元素在使用CSS显示时保持隐藏状态
- 如何使用javascript在区域外单击时隐藏元素
- 如何在加载网页时隐藏元素
- JS:隐藏元素上的事件侦听器
- HTML 显示/隐藏元素 JS 不起作用