2012-05-16 2 views
0

나는 셀렉터를 사용하여 텍스트 영역의 모음을 가지고 있습니다. 나는 그 다음 iterating 및 현재 너비를 기반으로 각각에 대한 최대 너비를 설정하려고 (그들은 모두 같은 방식으로, 내가 왜 이런 식으로하고있다)입니다. 그러나 배열 요소의 .css 속성에 액세스 할 수 없습니다. HTMLTextAreaElements이기 때문에 추측 할 수 있습니까? 이 일을하거나 더 나은 방법으로 접근 할 수있는 방법이 있습니까?컬렉션의 CSS 최대 너비 변경 textareas

최대 너비를 정적으로 설정할 수 없습니다.이 너비는 다양한 페이지와 다양한 크기로 사용되는 일반 컨트롤이기 때문에 설정할 수 없습니다.

$(function() { 
var a = $('.myTextAreaCssClass'); 
for(var i = 0;i < a.length; i++) { 
var w = a[i].css(width); 
a[i].css('max-width',w); 
} 
}); 

답변

2

$ .each를 사용해야합니다. ,

$(function() { 
    var a = $('.myTextAreaCssClass'); 
    a.each (function() { 
     $(this).css('max-width', $(this).css('width')); 
    }); 
}); 

,이 시도하거나 아래로 당신은 CSS의 함수 인수를 사용할 수있다

$(function() { 
    var a = $('.myTextAreaCssClass'); 
    a.css ('max-width', function() { 
     return $(this).css('width'); 
    }); 
}); 

편집 : 난 그냥이 정말 폭 I에 최대 폭을 설정하는 것입니다 실현 내 CSS 파일에 지정, 내가 필요로하는 픽셀의 폭은 -

이 시도

,

,532을 JAS 10

참고 : 다른 버전의 width() 기능이 있으므로 적절하게 사용하십시오. 참조 : https://stackoverflow.com/a/10018686/297641

+0

'.each()가'이 경우 더 나은 옵션입니다. –

+0

jquery 대신 javascript 방식을 사용했기 때문에 감사합니다. 그냥 호기심에서,이 경우 width() 속성이 0이되는 것이 정상입니까? – jas

+0

난 그냥 내 CSS 파일에서 지정한 너비에 최대 너비를 설정한다는 것을 깨달았습니다. 필요한 너비는 픽셀 단위입니다. – jas

0
var a = $('.myTextAreaCssClass'); 

a.each(function() { 
    w = $(this).width(); 
    $(this).css('max-width',w + 'px'); 
}); 
0

이 시도 :

$('.myTextAreaCssClass').each(function(){ 
    $(this).css("max-width", $(this).css("width")) 
})