Объект для основных элементов html, содержащий имя тэга, атрибуты и дочерние узлы (включая например текстовые узлы). Дочерние узлы могут содержать либо элементы, либо терминальные узлы.
// Дано Элемент.ВнешнийКод() <div id="app-switcher" class="aui-dropdown2 aui-style-default" role="menu"></div>перРезультат=""дляАтрибутизЭлемент.АтрибутыРезультат+=Атрибут.Имя+" : "+Атрибут.Значение+"\н";// Результат будет равен// id : app-switcher// class : aui-dropdown2 aui-style-default // role : menu
Ненормализованный текст, который скомбинирован с собственным текстом элемента и текстом его дочерних.
Примеры
перДокумент=Парсер.Разобрать("<p style=\"margin:0016px;\">Мы пришлем Вам доступ в течении дня. Ожидайте.</p>\n"+"<p style=\"margin:0016px;\">Если вдруг по каким-то причинам вы не получили ключ...</p>").Результат// Тогда Документ.Тело.ВесьТекст:// "Мы пришлем Вам доступ в течении дня. Ожидайте.// Если вдруг по каким-то причинам вы не получили ключ..."
Нормализованный текст, который скомбинирован с собственным текстом элемента и текстом его дочерних.
Примеры
перДокумент=Парсер.Разобрать("<p style=\"margin:0016px;\">Мы пришлем Вам доступ в течении дня. Ожидайте.</p>\n"+"<p style=\"margin:0016px;\">Если вдруг по каким-то причинам вы не получили ключ...</p>").Результат// Тогда Документ.Тело.НормализованныйТекст:// "Мы пришлем Вам доступ в течении дня. Ожидайте. Если вдруг по каким-то причинам вы не получили ключ..."
Предыдущий прямой соседний элемент, Неопределено, если такого нет или родителя у текущего элемента не существует
Примеры
/*Примерчастикода:<labelfor="1">Russian</label><inputtype="radio"id="1"name="fav_language"value="Russian">*/// Для пользовательского ввода данных радио кнопок задать class = Radio, а их лейблам class = LabelперРадиоКнопки=Документ.ПолучитьИзПоддереваЭлементыПоАтрибуту("input","type","radio")РадиоКнопки.ДобавитьКласс("Radio")дляКнопкаизРадиоКнопкиперЛейбл=РадиоКнопки.ПредыдущийСоседнийЭлементеслиЛейбл!=НеопределеноЛейбл.Атрибуты.Вставить("class","Label");;/*Примерчастирезультата:<labelfor="1"class="Label">Russian</label><inputtype="radio"id="1"name="fav_language"value="Russian"class="Radio">*/
Следующий прямой соседний элемент, Неопределено, если такого нет или родителя у текущего элемента не существует
Примеры
/*Примерчастикода:<labelfor="1">Russian</label><inputtype="radio"id="1"name="fav_language"value="Russian">*/// Для пользовательского ввода данных радио кнопок задать class = Radio, а их лейблам class = LabelперЛейблы=Документ.ПолучитьИзПоддереваЭлементыПоАтрибуту("label","for","")Лейблы.УстановитьАтрибут("class","Label")дляКнопкаизЛейблыперРадиоКнопка=Лейблы.СледующийСоседнийЭлементеслиРадиоКнопка!=НеопределеноРадиоКнопка.ДобавитьКласс("Radio");;/*Примерчастирезультата:<labelfor="1"class="Label">Russian</label><inputtype="radio"id="1"name="fav_language"value="Russian"class="Radio">*/
Нормализованный текст именно этого элемента без учета поддерева дочерних.
Примеры
перДокумент=Парсер.Разобрать("<p style=\"margin:0016px;\">Мы пришлем Вам доступ в течении дня. Ожидайте.</p>\n"+"<p style=\"margin:0016px;\">Если вдруг по каким-то причинам вы не получили ключ...</p>").Результат// Тогда Документ.Тело.СобственныйНормализованныйТекст = ""// Но Документ.Тело.ПолучитьДочерниеЭлементы()[0].СобственныйНормализованныйТекст = // "Мы пришлем Вам доступ в течении дня. Ожидайте."
Текст именно этого элемента без учета поддерева дочерних.
Примеры
перДокумент=Парсер.Разобрать("<p style=\"margin:0016px;\">Мы пришлем Вам доступ в течении дня. Ожидайте.</p>\n"+"<p style=\"margin:0016px;\">Если вдруг по каким-то причинам вы не получили ключ...</p>").Результат// Тогда Документ.Тело.СобственныйТекст = "\n"// Но Документ.Тело.ПолучитьДочерниеЭлементы()[0].СобственныйТекст = // "Мы пришлем Вам доступ в течении дня. Ожидайте."
Добавляет атрибут класса, если его не было на элементе, со значением, иначе добавляет в атрибут class еще одно значение (через пробел). Если такое значение класса уже есть на элементе, то метод не выполняет никаких действий.
Примеры
// Дано Элемент.ВнешнийКод() <div id="app-switcher" class="aui-dropdown2 aui-style-default" role="menu"></div>Элемент.Классы// будет содержать "aui-dropdown2", "aui-style-default"Элемент.ДобавитьКласс("colorized")Элемент.Классы// будет содержать "aui-dropdown2", "aui-style-default", "colorized"
Добавляет копии переданных узлов в начало дочерних.
Примеры
// Положим в контейнер параграфы, у которых идентификаторы будут возрастать от 1 до 3 перРодитель=новыйЭлементHtml("div")перПоследний=новыйЭлементHtml("p")Родитель.ДобавитьКопииВНачалоДочерних(Последний)Последний=Родитель.ПолучитьДочерниеЭлементы()[0]Последний.Ид="3"перПараграфыДо=новыйЭлементыHtml([новыйЭлементHtml("p"),новыйЭлементHtml("p")])ПараграфыДо[0]="1"ПараграфыДо[1]="2"Родитель.ДобавитьКопииВНачалоДочерних(ПараграфыДо)/*Получиликод:<div><pid="1"></p><pid="2"></p><pid="3"></p></div>*/
/*Длякода:<html><body><!--Первыйконтейнер--><divid="first"><!--Второйконтейнер--><divid="second"><p>Sometext</p></div></div></body></html>*/Документ.Тело.ПолучитьДочерниеЭлементы(Истина)// Вернет все элементы в этом htmlДокумент.Тело.ПолучитьДочерниеЭлементы()// Вернет коллекцию из одного элемент - <html>// Вернет коллекцию из двух divДокумент.Тело.ПолучитьДочерниеЭлементы(Истина,Элемент->Элемент.Ид!=Неопределено)
Получить дочерние узлы, которые являются элементами. Если Поддево == Ложь, то возвращает непосредственных детей для элемента, если Поддерево == Истина, возвращает поддерево для элемента. Если критерий задан, то в элементы добавляются дочерние удовлетворяющие этому критерию.
Получить дочерние элементы из поддерева, которые имеют данный тег, а также установлен указанный атрибут и значение (если указано). При передаче строки будет искаться точное совпадение, при передаче образца- удовлетворение значения указанному образцу. Если идет поиск по атрибуту класса, то в результат попадут элементы, в которых этот класс содержится (то есть не обязательно класс должен быть один для элемента). Если в качестве значения класса передается строка, содержащая пробел, то по нему будут разделены классы и так же элементы будут проверены на принадлежность нескольким классам одновременно, например при поиске “К1 К2” будут возвращены элементы, у которых установлены оба класса (вне зависимости от порядка их объявления в элементе). В иных случаях передача пробела не будет влиять на разделение значений.
Примеры
методПолучитьВсеИзображенияИзВложенияПисьма(Документ:ДокументHtml):ЭлементыHtml// Изображения в письме для отображения из вложений в атрибуте src начинаются с "cid:"возвратДокумент.Тело.ПолучитьИзПоддереваЭлементыПоАтрибуту("img","src",'cid:.*');
Получает дочерние элементы из поддерева по тегу. Если тег не удовлетворяет требованиям стандарту или не содержится в дереве, то будет возвращена пустая коллекция.
Получить дочерние элементы из поддерева в собственном нормализованном тексте, которых содержится указанная подстрока или значение удовлетворяет образцу. В случае строки поиск идет не чувствительный к регистру.
Примеры
перДокумент=Парсер.Разобрать("<p style=\"margin:0016px;\">Мы пришлем Вам доступ в личный"+"кабинет в течении дня. Ожидайте.</p>\n"+"<p style=\"margin:0016px;\">Если вдруг по каким-то причинам вы не получили ключ доступа - напишите в онлайн"+"чат на нашем сайте, пожалуйста.</p>").РезультатперЭлементы=Документ.Тело.ПолучитьИзПоддереваЭлементыССобственнымТекстом("личный кабинет")Элементы[0].ВнешнийКод()/*Результат:<pstyle="margin: 0 0 16px;">МыпришлемВамдоступвличныйкабинетвтечениидня.Ожидайте.</p>*/
Получить элементы на том же уровне, что и текущий, идущие далее от элемента.
Примеры
// Есть документ с одной таблицей, в которой установлен заголовок, нужно всем обычным строкам (не заголовку) добавить // класс tableRawперЭлементTh=Документ.ПолучитьИзПоддереваЭлементыПоТегу("th")[0]// Ячейка заголовкаперСтрокаЗаголовка=ЭлементTh.РодителькакЭлементHtmlперОбычныеСтрокиТаблицы=СтрокаЗаголовка.ПолучитьСледующиеСоседниеЭлементы()ОбычныеСтрокиТаблицы.ДобавитьКласс("tableRaw")