如何使用jQuery设置textarea高度

时间:2011-10-02 07:11:16

标签: jquery css

在某些单元格中有一张桌子和许多textareas。 具有textarea的单元格跨越多行(2,3,4或更多行)。 我想让textareas占据整个细胞区域。

我可以使用jQuery执行此操作,但这需要很长时间,浏览器会发出警告。

$("textarea").each(function() {
  $(this).height($(this).parent().height());
});

有更好的方法吗?

感谢。

萨姆

2 个答案:

答案 0 :(得分:0)

我出现了这个测试:

http://jsperf.com/jquery-each-vs-for-loop/4

其中(在运行测试之后)显示.each()在性能方面被其他迭代器黯然失色。如果您可以设计一种方法来使用该页面上显示的高性能迭代器之一,您显然会看到更好的结果。

编辑:这可行,但是否有一个性能优势我不能说:

http://jsfiddle.net/T7wzT/1/

var $textarea = $('textarea');
numTextareas = $textarea.length;
for (var i = 0, len = numTextareas; i < len; i++) {
 $textarea.eq(i).height($textarea.parent().height());
}

答案 1 :(得分:0)

我错过了什么或为什么你不能在textareas上使用css样式高度:100%

请参阅此jsFiddle:http://jsfiddle.net/J2njk/