Используя расширения объектной модели документа
WebKit обеспечивает расширения Объектной модели документа (DOM), обеспечивающие дополнительную функциональность, не указанную рекомендациями W3C. Расширения DOM являются частью Objective C DOM API, но не являются частью W3C спецификация DOM (и не реализованные в JavaScript).
Расширения в настоящее время обеспечивают дополнения к DOMHTMLElement, DOMDocument, и DOMRGBColor. Дополнительное DOMHTMLElement подкласс, DOMHTMLEmbedElement, обеспечивает Objective C класс DOM для HTML embed элементы.
Среди полезных функций расширений внутренний/внешний HTML и текстовые методы доступа. Учитывая блок элемента HTML (a DOMHTMLElement), можно динамично получить и установить HTML и текст от того блока с помощью этих методов: innerText получает внутреннее содержание блока без его HTML-тэгов; innerHTML получает внутреннее содержание блока (с его HTML-тэгами, но не его тегами включения); outerHTML получает все содержание блока. Например, учитывая этот блок HTML:
<DIV id=”paras”> |
<P>Paragraph 1</P> |
<P>Paragraph 2</P> |
</DIV> |
innerHTML метод возвратится (как NSString):
<P>Paragraph 1</P> |
<P>Paragraph 2</P> |
innerText метод возвратится (как NSString):
Paragraph 1 |
Paragraph 2 |
И outerHTML метод возвратится (как NSString):
<DIV id=”paras”> |
<P>Paragraph 1</P> |
<P>Paragraph 2</P> |
</DIV> |
Каждый из тех методов имеет соответствующий метод установки (setInnerHTML, setInnerText, setOuterHTML) и может использоваться на любом броске элемента в качестве a DOMHTMLElement или любой подкласс его.
Дополнение к DOMRGBColor интерфейс также очень полезен, поскольку он позволяет Вам использовать DOM для доступа к альфа-каналу Уровня 3 CSS RGB (A) цвет, даже при том, что спецификация Уровня 2 DOM не включает его.
Для полного списка расширений, предоставленных Objective C DOM API, посмотрите DOMExtensions.h заголовочный файл.