Сравнивает данный узел с узлом, переданным в качестве параметра, для определения позиции относительно документа.
Синтаксис
СравнитьПозициюВДокументе(<Узел>)Полное описание, параметры и ограничения
ЭлементФорматированногоТекстаHTML.СравнитьПозициюВДокументе (HTMLPreElement.CompareDocumentPosition)
ЭлементФорматированногоТекстаHTML (HTMLPreElement)
СравнитьПозициюВДокументе (CompareDocumentPosition)
Доступен, начиная с версии 8.2.
Синтаксис:
СравнитьПозициюВДокументе(<Узел>)
Параметры:
<Узел> (обязательный)
Тип: АтрибутHTML, ЭлементHTML, ЭлементКнопкаHTML, ЭлементВводаHTML, ЭлементЗаголовокHTML, ЭлементРазметкаHTML, ЭлементПлавающийФреймHTML, ЭлементВставкаHTML, ЭлементФреймHTML, ЭлементНаборФреймовHTML, ЭлементМетаHTML, ЭлементОбъектHTML, ЭлементСкриптHTML, ЭлементТаблицаHTML, ЭлементСтрокаТаблицыHTML, ЭлементЯчейкаТаблицыHTML, ЭлементКолонкаТаблицыHTML, ЭлементЗаголовокТаблицыHTML, ЭлементБлокHTML, ЭлементЛинияHTML, ЭлементФорматированногоТекстаHTML, ЭлементКартинкаHTML, ЭлементСвязьHTML, ЭлементЯкорьHTML, ЭлементАплетHTML, ЭлементФормаHTML, ДокументHTML, ТекстHTML, КомментарийHTML.
Узел HTMLDOM, с которым происходит сравнение.
Описание:
Сравнивает данный узел с узлом, переданным в качестве параметра, для определения позиции относительно документа.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Форма, поле ввода, кнопка, блок и pre: сравнение
Разбираем собственную разметку и сравниваем связанные реальные узлы, не выдавая сравнение за изменение их порядка.
Где и как запускать
Синтаксический пример для серверного обработчика или толстого клиента. ЧтениеHTML и ПостроительDOM разбирают собственную строку в память; это не открытие страницы в браузере. Здесь код не выполнялся.
Подготовка
HTML уже задан в строке. Все идентификаторы относятся к элементам именно этого документа.
Фрагмент только разбирается как данные: адреса, выполнение скриптов, отправка формы и загрузка объектов не используются.
Чтение = Новый ЧтениеHTML;
Чтение.УстановитьСтроку("<html><body><div id=""box""><form id=""form""><input id=""input""><button id=""button"" type=""button"">Готово</button></form><pre id=""pre"">Код товара</pre></div></body></html>");
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(Чтение);
Чтение.Закрыть();
Блок = Документ.ПолучитьЭлементПоИдентификатору("box");
Форма = Документ.ПолучитьЭлементПоИдентификатору("form");
Ввод = Документ.ПолучитьЭлементПоИдентификатору("input");
Кнопка = Документ.ПолучитьЭлементПоИдентификатору("button");
ТекстКода = Документ.ПолучитьЭлементПоИдентификатору("pre");
Блок.СравнитьПозициюВДокументе(Форма);
Форма.СравнитьПозициюВДокументе(Ввод);
Ввод.СравнитьПозициюВДокументе(Кнопка);
Кнопка.СравнитьПозициюВДокументе(ТекстКода);
ТекстКода.СравнитьПозициюВДокументе(Блок);
Сообщить("Синтаксические вызовы сравнения выполнены; содержимое документа не редактировалось");Разбор по шагам
Разберите строку в ДокументHTML.
Получите элементы по их идентификаторам и вызовите сравнение между указанными узлами.
Учитывайте ограничение справки: пример не интерпретирует недокументированный результат.
Как проверить результат
Все указанные идентификаторы должны находиться в подготовленной строке; Неопределено не является узлом для вызова.
Вызовы сравнения не вставляют, не перемещают и не удаляют элементы.
Ожидаемый результат
Приведён короткий пример синтаксиса и его ограничения. Здесь он не запускался в 1С; выполните проверки в своём учебном контексте.
На что обратить внимание
В установленной справке СравнитьПозициюВДокументе не указан тип возвращаемого значения. Поэтому вызовы показаны без присваивания результата; числовые маски, конкретные коды и успешный результат здесь не выдумываются.
Структура HTML и порядок исходных элементов не равны порядку их визуального отображения.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.