我需要知道HTML元素是否会随着内容的添加而扩展。可以通过多种方式预设元素的高度 - 使用内联样式高度或最大高度,通过设置父元素设置其高度时的相对高度,通过css类等等。
我需要知道在添加子元素时元素的高度是否会增加。我希望使用JQuery css方法,但是它会计算实际值并且不会告诉我它是否会随着新子项的添加而改变。
答案 0 :(得分:1)
有几种方法可以设置元素的高度。这是一个测试函数,您可以使用它来确定指定的元素是否具有固定的高度:
<强> HTML 强>
<span id="notAffected"></span>
<div id="hasCSSHeight"/>
<div id="hasInlineHeight" style="height:50px"/>
<div id="hasAttribureHeight" height="10px" />
<div id="hasNoHeight"/>
<强> CSS 强>
#notAffected,
#hasCSSHeight {
height: 100px;
}
<强>的JavaScript 强>
function hasHeight(el) {
var i,
l,
rules = window.getMatchedCSSRules(el),
display = window.getComputedStyle(el).getPropertyValue('display');
// Inline displayed elements are not affected by height definition
if(display === 'inline') {
return false;
}
// CSS
if(rules) {
for(i=0,l=rules.length;i<l;i++) {
if(rules[i].style.getPropertyValue('height')) {
return true;
}
}
}
// Inline style
if(el.style.height) {
return true;
}
// Attribute
if(el.getAttribute('height')) {
return true;
}
return false;
}