2013-07-31 85 views
0

webkit瀏覽器不支持「正確的ruby」。證明 - 最佳方法

我發現這個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代碼,拋出這個錯誤!否則,我只能猜測你已經得到了同樣的問題,因爲[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> 

應提醒「真」