2011-10-02 4 views
0

일부 셀에는 테이블과 많은 텍스트 영역이 있습니다. 텍스트 영역이있는 셀은 여러 행 (2, 3, 4 또는 여러 행)에 걸쳐 있습니다. 전체 셀 영역을 차지하는 텍스트 영역을 만들고 싶습니다.jQuery로 텍스트 영역 높이를 설정하는 방법

jQuery로이 작업을 수행 할 수 있지만 시간이 오래 걸리므로 브라우저에서 경고 메시지가 표시됩니다.

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

더 좋은 방법이 있습니까?

감사합니다. .each() 성능면에서 다른 반복자에 의해 가려되는 것을 보여줍니다 (테스트를 실행 한 후)

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

어떤 :

답변

0

나는이 테스트를 돌렸다. 해당 페이지에 표시된 고성능 이터레이터 중 하나를 사용하는 방법을 고안 할 수 있다면 더 나은 결과를 볼 수 있습니다.

편집 :이 작동하지만 성능이 향상 거기에 있는지 여부를 내가 말할 수 없습니다

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()); 
} 
0

나는 뭔가를 놓치고 또는 왜 그냥 CSS 스타일 을 사용할 수 없습니다 높이 : 100 % 텍스트 영역에?

이 jsFiddle를 참조하십시오 : 특정 높이를 지정하는 경우 http://jsfiddle.net/J2njk/

+0

그것은 작동합니다. 높이 자동 (기본 브라우저 동작) 또는 최소 높이에서는 작동하지 않습니다. 그러나 나는 동의한다. 높이가 지정되면 JS가 아닌 CSS를 사용해야합니다. –

+0

내 Firefox에서는 작동하지 않습니다. 어떤 브라우저를 사용 했습니까? –

관련 문제