Функции поиска
Функционал устарел. Используйте стандартные методы .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')); });
© «Битрикс», 2001-2024, «1С-Битрикс», 2024