Улучшить эту документацию Показать исходный код angular.element
- функция в модуле ng
Оборачивает элемент DOM или строку HTML в виде элемента jQuery.
Если jQuery доступен, angular.element является псевдонимом функции jQuery. Если jQuery недоступен, angular.element делегирует обработку встроенному подмножеству jQuery в Angular, называемому "jQuery Lite" или jqLite.
jqLite — это крошечное, совместимое с API подмножество jQuery, которое позволяет Angular манипулировать DOM в кроссбраузерном режиме. jqLite реализует только наиболее часто используемые функции с целью получения очень маленькой занимаемой памяти.
Чтобы использовать jQuery, просто убедитесь, что он загружен до файла angular.js. Вы также можете использовать директиву ngJq, чтобы указать, что должен использоваться jqlite вместо jQuery, или для использования определённой версии jQuery, если на странице присутствуют несколько версий.
angular.element(document).find(...) или $document.find(), или используйте стандартные API DOM, например, document.querySelectorAll().jqLite Angular
jqLite предоставляет только следующие методы jQuery:
addClass()after()append()-
attr()— не поддерживает функции в качестве параметров -
bind()— не поддерживает пространства имён, селекторы или eventData -
children()— не поддерживает селекторы clone()contents()-
css()— извлекает только встроенные стили, не вызываетgetComputedStyle(). В качестве установщика не преобразует числа в строки или добавляет 'px', также не имеет автоматического префиксации свойств. data()detach()empty()eq()-
find()— ограничено поиском по имени тега hasClass()html()-
next()— не поддерживает селекторы -
on()— не поддерживает пространства имён, селекторы или eventData -
off()— не поддерживает пространства имён, селекторы или объект события в качестве параметра -
one()— не поддерживает пространства имён или селекторы -
parent()— не поддерживает селекторы prepend()prop()ready()remove()removeAttr()removeClass()removeData()replaceWith()text()toggleClass()-
triggerHandler()— передает обработчикам фиктивный объект события. -
unbind()— не поддерживает пространства имён или объект события в качестве параметра val()wrap()
Дополнения jQuery/jqLite
Angular также предоставляет следующие дополнительные методы и события для jQuery и jqLite:
События
-
$destroy— AngularJS перехватывает все API уничтожения DOM jqLite/jQuery и генерирует это событие для всех удаляемых узлов DOM. Это можно использовать для очистки любых внешних привязок к элементу DOM перед его удалением.
Методы
-
controller(name)— извлекает контроллер текущего элемента или его родительского элемента. По умолчанию извлекает контроллер, связанный с директивойngController. Еслиnameуказан в виде имени директивы с camelCase, то будет извлечён контроллер для этой директивы (например,'ngModel'). -
injector()— извлекает инжектор текущего элемента или его родительского элемента. -
scope()— извлекает scope текущего элемента или его родительского элемента. Требуется, чтобы данные отладки были включены Debug Data. -
isolateScope()— извлекает изолированный scope, если он прикреплен непосредственно к текущему элементу. Этот метод должен использоваться только для элементов, содержащих директиву, которая начинает новый изолированный scope. Вызовscope()для этого элемента всегда возвращает исходный, не изолированный scope. Требуется, чтобы данные отладки были включены Debug Data. -
inheritedData()— аналогичноdata(), но переходит вверх по DOM, пока не будет найдено значение или не будет достигнут родительский элемент.
Использование
angular.element(element);
Аргументы
| Параметр | Тип | Подробности |
|---|---|---|
| element | stringDOMElement | Строка HTML или DOMElement, которые должны быть обернуты в jQuery. |
Возвращаемое значение
Object |
Объект jQuery. |
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.4.14/docs/api/ng/function/angular.element