В браузере, который отображает документ XHTML с элементами с именами, как я могу использовать JavaScript для доступа к свойствам элемента вне пространства имен HTML?Как получить доступ к .style на пространствах с именами в XHTML
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
Хорошо. Если бы вы могли включить некоторый код, который вызывает это поведение, было бы намного легче ответить. –