我有这个CSS:
#x { height: 100px; }
这个JavaScript:
document.getElementById('x').onkeydown = function () {
if (event.keyCode == 13) {
var h = Number(this.style.height);
this.style.height = h + 14 + 'px';
}
};
document.getElementById('x').style.height+14
我该怎么办?
使用
var h = this.offsetHeight;
而不是
var h = Number(this.style.height);
请参阅此链接
当你得到element.style.height
时,你会得到类似10px
的字符串,你必须通过parseInt
函数将其转换为数字才能添加到其中。
当你应用新的高度时,你必须使用像newHeight + 'px'
这样的结构,因为style='height: 10;'
是错误的,你必须用px
或%
或其他什么
示例代码:
var div = document.getElementById('testDiv');
div.style.height = (parseInt(div.style.height) + 10) + 'px !important';
当元素的样式属性中有height
时,一切都会正常工作。