Spec-Zone.ru › Angular.js 1.7

Улучшить эту документацию Просмотреть исходный код angular.element

  1. функция в модуле ng

Обзор

Оборачивает элемент DOM или строку HTML как элемент jQuery.

Если jQuery доступен, angular.element является псевдонимом для функции jQuery. Если jQuery недоступен, angular.element делегирует встроенному подмножеству jQuery, называемому "jQuery lite" или jqLite.

jqLite — это крошечное подмножество jQuery, совместимое с API, которое позволяет AngularJS манипулировать DOM в кроссбраузерном режиме. jqLite реализует только наиболее часто используемые функции с целью минимального использования памяти.

Чтобы использовать jQuery, просто убедитесь, что он загружен перед файлом angular.js. Вы также можете использовать директиву ngJq, чтобы указать, что следует использовать jqlite вместо jQuery, или использовать определённую версию jQuery, если на странице присутствует несколько версий.

Примечание: Все ссылки на элементы в AngularJS всегда обернуты в jQuery или jqLite (например, аргумент element в функции compile/link директивы). Они никогда не являются сырыми ссылками на DOM.
Примечание: Имейте в виду, что эта функция не будет находить элементы по имени тега/CSS-селектору. Для поиска по имени тега попробуйте вместо этого angular.element(document).find(...) или $document.find(), или используйте стандартные API DOM, например document.querySelectorAll().

jqLite AngularJS

jqLite предоставляет только следующие методы jQuery:

  • addClass() - Не поддерживает функцию в качестве первого аргумента
  • after()
  • append() - В отличие от jQuery, это не клонирует элементы, поэтому не будет работать правильно, когда вызывается на объекте jqLite, содержащем более одного узла DOM
  • attr() - Не поддерживает функции в качестве параметров
  • bind() (устарело, используйте on()) - Не поддерживает пространства имён, селекторы или eventData
  • children() - Не поддерживает селекторы
  • clone()
  • contents()
  • css() - Получает только встроенные стили, не вызывает getComputedStyle(). В качестве установщика не преобразует числа в строки или добавляет 'px', а также не имеет автоматического добавления префиксов свойств.
  • data()
  • detach()
  • empty()
  • eq()
  • find() - Ограничен поиском по имени тега
  • hasClass()
  • html()
  • next() - Не поддерживает селекторы
  • on() - Не поддерживает пространства имён, селекторы или eventData
  • off() - Не поддерживает пространства имён, селекторы или объект события в качестве параметра
  • one() - Не поддерживает пространства имён или селекторы
  • parent() - Не поддерживает селекторы
  • prepend()
  • prop()
  • ready() (устарело, используйте angular.element(callback) вместо angular.element(document).ready(callback))
  • remove()
  • removeAttr() - Не поддерживает несколько атрибутов
  • removeClass() - Не поддерживает функцию в качестве первого аргумента
  • removeData()
  • replaceWith()
  • text()
  • toggleClass() - Не поддерживает функцию в качестве первого аргумента
  • triggerHandler() - Передаёт фиктивный объект события обработчикам
  • unbind() (устарело, используйте off()) - Не поддерживает пространства имён или объект события в качестве параметра
  • val()
  • wrap()

Дополнения jQuery/jqLite

AngularJS также предоставляет следующие дополнительные методы и события для jQuery и jqLite:

События

  • $destroy - AngularJS перехватывает все API уничтожения DOM jqLite/jQuery и вызывает это событие на всех узлах DOM, которые удаляются. Это можно использовать для очистки любых внешних привязок к элементу DOM перед его удалением.

Методы

  • controller(name) - извлекает контроллер текущего элемента или его родительского элемента. По умолчанию извлекает контроллер, связанный с директивой ngController. Если name предоставлен как имя директивы в camelCase, то будет извлечён контроллер для этой директивы (например, 'ngModel').
  • injector() - извлекает инжектор текущего элемента или его родительского элемента.
  • scope() - извлекает scope текущего элемента или его родительского элемента. Требует, чтобы Данные отладки были включены.
  • isolateScope() - извлекает изолированный scope, если он прикреплён непосредственно к текущему элементу. Этот метод следует использовать только для элементов, содержащих директиву, которая начинает новый изолированный 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–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.7.8/docs/api/ng/function/angular.element

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API