我有这段代码
<div style="height:500px;display:none"></div>
<div style="height:1000px;"></div>
<script>
$(document).ready(function() {
var visible_elem_height = $('div').is(':visible').height()
alert( visible_elem_height )
});
</script>
但我的代码不起作用,那你的建议是什么?
答案 0 :(得分:3)
.is()返回一个布尔值,这样你的脚本就会失败,而你需要
$(document).ready(function () {
var visible_elem_height = $('div:visible').height();
//or var visible_elem_height = $('div').filter(':visible').height()
alert(visible_elem_height)
})
答案 1 :(得分:1)
$('div').is(':visible')
会返回true / false,具体取决于元素的可见性。另一方面,.height()
函数应用于元素而不是boolean
输出。因此,$('div').is(':visible').height()
根本不起作用。
要实现所需的行为,请使用:visible
选择器$('div:visible').height()
$(document).ready(function() {
var visible_elem_height = $('div:visible').height()
alert( visible_elem_height )
});
答案 2 :(得分:1)
尝试使用.wrapper_sub
.filter()
$(document).ready(function() {
var div = $("div").filter(function(i, el) {
return $(el).is(":visible")
});
if (div.length > 0) {
alert(div.height())
};
});
答案 3 :(得分:0)
语句is(':visible')
返回true
或false
作为输出。如果您想获得元素的高度,可以使用.height()
方法直接获取它。