[英]Check if style=“height: 0px”
我有一些通过脚本分配的内联样式高度的元素。 我需要检查的元素具有以下内容: style="height: 0px"
<div class="myEm" style="height: 30px">...</div>
<div class="myEm" style="height: 10px">...</div>
<div class="myEm" style="height: 0px">...</div>
jQuery的
$(".myEm").each(function(){
if ($(this).attr("style") == "0px") {
$(this).css("border-color", "red");
}
});
以下作品:
$(".myEm").each(function() {
if (this.style.height == "0px") {
$(this).css("border-color", "red");
}
});
如果这是您所拥有的确切代码,并且您无法修改任何HTML,那么您可以在此处进行字符串比较。
$(".myEm").each(function() {
if (this.style.height == '0px') {
$(this).css("border-color", "red");
}
});
问题是,您已经将min-height
设置为10px
,因此,尽管您将0px
定义为内联,但由于min-height
是单独定义的,因此不会覆盖CSS。 因此,您需要调用min-height: 0;
内联,也可以像上面一样检查。 请注意, .height()
将始终返回10
因此请使用this.style.height
来获取已声明为内联的值,而不是正在呈现的值。
请注意,如果HTML与您共享的完全一样,则您也可以像
.myEm[style="height: 0px"] {
border: 1px solid red;
}
min-height: 10px
。 希望这会有所帮助!
$(".myEm").each(function() { console.log($(this).height()) if (!$(this).height()) { $(this).css("border-color", "red"); } });
.myEm { border: 1px solid #ccc; line-height: 20px; margin: 20px }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="myEm" style="height: 30px">...</div> <div class="myEm" style="height: 10px">...</div> <div class="myEm" style="height: 0px">...</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.