2013-07-31 3 views
0

웹킷 브라우저는 "ruby of justify"를 지원하지 않습니다.justify - 최선의 접근 방식

이 자바 스크립트 (https://code.google.com/p/justify/)가 있습니다.

이러한 사용으로 인해, 새로운 문제가 발생

...

 
&ltul id="list"> 
    &ltli> 
    &lth3 id="main">&ltruby&gtLorem&ltrt id="sub"&gtIpsum</rt></ruby></h3> 
    &ltp&gtLorem ipsum dolor sit amet...... </p> 
    </li> 
</ul> 

이 괜찮다. 그러나이 스크립트는 "document.getElementById"를 사용했습니다.

요소를 늘리면 물론 작동하지 않습니다. 나는 "document.getElementById를"을 "document.getElementsByClass"Uncaught TypeError: Object #<NodeList> has no method을 ... 다시 작성할 때

요소가 증가

, 나는 무엇을해야합니까?

는 단일 노드와 같은 노드의 목록을 치료하기 위해 노력하고 있기 때문에

+0

증가 "true"를 경고해야합니까? 두 개 이상의'

+0

나는'document.getElementsByClassName'을 의미한다고 생각합니다 ... – giaour

+0

이 오류를 던지는 자바 스크립트 코드를 보여주십시오! 그렇지 않으면 [getElementByClass(). setAttribute가 작동하지 않습니다.] (http://stackoverflow.com/questions/2565909/getelementbyclass-setattribute-doesnt-work)에서와 동일한 문제가 발생했다고 추측 할 수 있습니다. – Bergi

답변

1
Uncaught TypeError: Object #<NodeList> has no method... 

이 오류가 발생합니다 (죄송합니다 ... 나는 영어에 좋은 아니에요). 아마도 getElementsByClassName의 결과에서 요소를 얻는 것을 잊기 때문입니다.

getElementById은 하나의 DOM 요소를 반환하지만 getElementsByClassName은 DOM 요소의 목록 (배열 모양 개체)을 반환합니다. 당신은 후자에 색인을 붙이지 만, 전자는 색인하지 않아야합니다.

<div class="foo" id="bar"></div> 

<script> 
alert(
    document.getElementById('bar') // One result at most, so no [0]. 
    === 
    // ClassName, not Class. [0] since the result is a list. 
    document.getElementsByClassName('foo')[0] 
); 
</script> 

요 요소에 의해 무슨 소리