Функции поиска
Функционал устарел. Используйте стандартные методы .querySelectorAll и .querySelector.
Описание
Array|DOMNode BX.findChild( DOMNode obj, Object params, bool recursive get_all );
array|DOMNode BX.findChildren( DOMNode obj, Object params, bool recursive );
DOMNode BX.findParent( DOMNode obj, Object params, );
DOMNode BX.findNextSibling( DOMNode obj, Object params, );
DOMNode BX.findPreviousSibling( DOMNode obj, Object params, );
Функции поиска узлов DOM-структуры по набору параметров.
Примечание: BX.findChildren(obj, params, recursive)
- синоним BX.findChild(obj, params, recursive, true)
.
Параметры функции
Параметр | Описание |
---|---|
DOMNode obj | Объект поиска |
params | Формат объекта, описывающего параметры поиска:
Примечание: Вместо набора параметров можно указать фильтрующую функцию, которая будет вызываться для каждого проверяемого узла DOM-структуры. Функция должна вернуть true или false. |
recursive | показывает, что нужно искать не только непосредственно в дочерних элементах узла, а во всем поддереве. По умолчанию – false (только в дочерних). |
get_all | вернуть все найденные элементы в виде массива. |
Примеры использования
var body = BX.findParent(BX("bx-panel"), {"tag" : "body"}); console.log(body);
obSelect = BX.findChild(BX("menu"), { "tag" : "li", "class" : "select" }, true );
obNotEmptyListItem = BX.findChild( BX("menu"), function(el) { return el.tagName.toUpperCase() == 'LI' && !!el.firstChild }, true );
Пример-аналог $.each:
находим всех пасынков id BX(this._id + '_placeholder')
с классом crm-qpe-field, применяем к ним некие действия.
var fields = BX.findChild(BX(this._id + '_placeholder'), {class: 'crm-qpe-field'}, true, true); fields.forEach(function(element){ console.log(element.getAttribute('name')); });
На jquery это примерно так:
$.each($( '#' + this ._id + '_placeholder .crm-qpe-field'), function(i, e){ console.log($(e).attr('name')); });
Антон Долганин
|
А также поиск по классу
findChildrenByClassName findChildByClassName |
Антон Долганин
|
Еще есть lastChild
|
Антон Долганин
|
findNextSibling, findPreviousSibling - это поиск соседних элементов (следующего и предыдущего относительно цели запроса), отвечающих условиям поиска. Помогает в редких ситуациях, когда нет родителя подходящего, и чтобы не бежать сильно долго по DOM - опрашиваешь соседей.
|
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.