Улучшить эту документацию Просмотреть исходный код 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 текущего элемента или его родителя. Требуется, чтобы данные отладки были включены. -
isolateScope()— получает изолированный scope, если он прикреплен непосредственно к текущему элементу. Этот getter следует использовать только для элементов, содержащих директиву, которая запускает новый изолированный scope. Вызовscope()для этого элемента всегда возвращает исходный неизолированный scope. Требуется, чтобы данные отладки были включены. -
inheritedData()— то же, что иdata(), но поднимается по DOM, пока не будет найдено значение или не будет достигнут верхний родительский элемент.
Известные проблемы
Невозможно подсматривать за angular.element при использовании Jasmine версии 1.x. Смотрите https://github.com/angular/angular.js/issues/14251 для получения дополнительной информации.
Использование
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.5.11/docs/api/ng/function/angular.element