2012-06-15 2 views
0

정기적으로 바뀌는 텍스트와 함께 너비가 다른 ul 목록 요소가 있습니다. 이제 ul 목록의 너비를 변경할 수있는 텍스트 인 첫 번째 목록 요소의 너비로 설정하려고합니다. 첫 번째 목록 항목 (# item1)의 너비를 '가져오고'ul 목록 (#myList)의 너비를 방금 언급 한 첫 번째 목록 항목의 너비로 '설정'하고 싶습니다. 나는 다음과 같은 코드를 시도했지만 작동하지 않습니다 :자바 스크립트로 요소 너비 가져 오기 및 설정하기

<script type="text/javascript"> 
    var width = document.getElementById('item1').offsetWidth; 
    document.getElementById('myList').style.width = width; 
</script> 

HTML :

<ul id="myList"> 
    <li id="item1">text1</li> 
    <li>text2</li> 
    <li>text3</li> 
</ul> 

어떤 제안? jquery를 사용하지 않는 것이 좋지만 순수한 자바 스크립트는 ...

고마워!

+3

style.width는 단위가 필요합니다. = width + "px"; 또는 스타일을 잃어 버리고 use ('item1'). width – Mike

+0

만약 그렇게하지 않았다면, html 뒤에 스크립트 요소를 넣으십시오. – Esailija

+1

'li'의 폭은'ul'의 너비에 해당합니다 실제 텍스트의 너비가 어느 정도인지 알고 싶습니까? – sachleen

답변

0

사용이 ... 여기에서 나는 UL 요소가 #ul하고 목록 요소가 #list라고 가정 한

var liWidth=document.querySelector('#list').clientWidth; 

// make the width of ul same 
document.querySelector('#ul').style.width=liWidth+'px'; 

.. workk 그리고 자바 스크립트를로드하기 전에 요소를 만들어야합니다 아니면 것입니다해야 스타일 속성을 찾을 수없는 오류가 발생했습니다.

관련 문제