2010-08-04 5 views
2

자바 스크립트를 사용하여 HTML에서 DIV 블록 내에 얼마나 많은 문자가 들어갈 수있는 최선의 방법을 알고 있습니까?JavaScript로 DIV에 들어갈 수있는 문자 수 알아보기

조언이 도움이 될 것입니다.

+1

이 사업부는 미리 정의 된 폭이 있습니까? – Sarfraz

+0

번호를 제한 하시겠습니까? DIV로 들어가는 문자가 있거나 DIV보다 많은 콘텐츠가 있으면 사용자에게 메시지를 확인하고 플래그를 지정하고 싶습니까? –

+0

div에 맞게 문자열을 자르려면 IE6 이상 및 최신 브라우저에서 지원되는 CSS3 속성 * text-overflow *와 같은 더 나은 대안을 찾아야합니다. 자세한 내용은 문자열이 원하는 것보다 큰 경우 [내 대답을 * 추가 ​​"..."참조] (http://stackoverflow.com/questions/3247011/append-when-a-string-is-larger-than -desired/3247062 # 3247062) –

답변

2

숨겨진 div에 반복하여 문자를 추가하고 그 너비를 확인할 수 있습니다. 더 좋은 방법이 있는지 확실하지 않습니다.

편집 : 이런 식으로 뭔가 :

var targetWidth = document.getElementById('DivToCheck').clientWidth; 
var stringToFit = 'abcdefghijk'; 
var numChars = 0; 
for(var i=0; i < stringToFit.length; i++) 
{ 
    document.getElementById('hiddenDiv').innerHTML += stringToFit.charAt(i); 
    if (document.getElementById('hiddenDiv').clientWidth > targetWidth) 
    { 
     numChars = i - 1; 
     break; 
    } 
} 

<div id="hiddenDiv" style="visibility: hidden; width: auto;"></div> 
+1

다음 사항에 유의하십시오. 1. 숨겨진 div는 페이지의 레이아웃에 영향을 미치므로 * position : absolute; * 및 2.이 있어야합니다. 숨겨진 div는 글꼴과 일치해야합니다 검사 할 div의 스타일 (예 : * font-family *, * font-size *, * font-weight * 등). –

관련 문제