2013-07-31 3 views
0

браузер webkit не поддерживается «ruby of justify».justify - Лучший подход

Я нашел этот javascript (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

Что йо значит элементом увеличивается? вы имеете в виду, что у вас более одного '

+0

Я думаю, вы имеете в виду 'document.getElementsByClassName' ... – giaour

+0

Пожалуйста, покажите нам свой код javascript, который вызывает эту ошибку! Else Я могу только догадываться, что у вас такая же проблема, как в [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> 

должен предупредить «истинный»

Смежные вопросы