在顯示具有命名空間元素的XHTML文檔的瀏覽器中,如何使用JavaScript訪問HTML命名空間之外元素的.style
屬性?如何在XHTML中訪問名稱空間元素上的.style
document.getElementsByTagNameNS(namespace, tagName)
返回對象集合,但對象沒有CSSStyleDeclaration
樣式屬性(至少在Chrome或Firefox中不存在)。
你可以說這是由設計決定的,CSS是特定於HTML的。但名稱空間CSS對內容的樣式很好。所以風格信息就在那裏。我如何讀寫它?
我想知道,例如,哪些元素正在渲染爲塊和內聯。
(編輯添加例如:)
看到這一點,去www.johnmccaskey.com/style.xhtml。藍色部分位於HTML名稱空間中,http://www.tei-c.org/ns/1.0
名稱空間中的紅色部分。 CSS風格都很好。例如,在Chrome的控制檯中輸入document.getElementsByTagName("box")
。你會看到兩個<box>
對象。 HTML中的一個具有.style
屬性,TEI沒有。
'getElementsByTagNameNS'返回元素的集合,所以結果不會有任何'style'屬性。如果你做'document.getElementsByTagNameNS(namespace,tagName)[0] .style'是否給你一些東西? –
糟糕,我的意思是集合中的對象缺少'.style'。我編輯了這個問題。 – JPM
好的。如果你可以包含一些導致這種行爲的代碼,它會更容易回答。 –