Spec-Zone.ru › Angular.js 1.6

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

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

Обзор

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

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

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

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

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

jqLite AngularJS

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

  • addClass() — не поддерживает функцию в качестве первого аргумента
  • after()
  • append()
  • 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 текущего элемента или его родителя. Требуется, чтобы были включены данные отладки Debug Data.
  • isolateScope() — извлекает изолированный scope, если он прикреплен непосредственно к текущему элементу. Этот getter следует использовать только для элементов, содержащих директиву, которая запускает новый изолированный scope. Вызов scope() для этого элемента всегда возвращает исходный, не изолированный scope. Требуется, чтобы были включены данные отладки Debug Data.
  • 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.6.9/docs/api/ng/function/angular.element

Spec-Zone.ru

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