我试图在窗口调整大小后0.5秒后用类“abc”触发所有textareas的scrollHeight
。
此行似乎不起作用。 document.getElementsByClassName(".abc").style.height = (document.getElementsByClassName(".abc")).scrollHeight+px';
如何在调整窗口大小后触发所有类名为“abc”的textareas以适应其内容高度?
$(window).resize(function() {
if(this.resizeTO) clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function() {
$(this).trigger('resizeEnd');
}, 500);
});
$(window).bind('resizeEnd', function() {
document.getElementsByClassName("abc").style.height = (document.getElementsByClassName("abc")).scrollHeight+'px';
});
答案 0 :(得分:1)
您正在使用jQuery,因此请使用jQuery设置高度
$(".abc").each(
function() {
$(this).height(this.scrollHeight);
}
);
现在您的代码会因多种原因而失败。您无法为HTMLCollection设置值。您的className中包含.
,它不是选择器。
所以如果你想用普通的旧JavaScript
来做var tas = document.getElementsByClassName("abc");
for(var i=0; i<tas.length; i++) {
tas[i].style.height = tas[i].scrollHeight + "px";
}
现在最后我不认为这是你100%想要的,但这是如何让你的代码在上面运行。
答案 1 :(得分:0)
$(window).bind('resizeEnd', function() {
$(".abc").height( $(".abc")[0].scrollHeight );
});
答案 2 :(得分:-2)
document.getElementsByClassName(".abc").css('height',document.getElementsByClassName(".abc").scrollHeight+'px');