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