angular.element和document.getElementById之间有什么区别

时间:2016-11-04 17:24:53

标签: javascript jquery angularjs getelementbyid

Angularjs按ID获取元素:您可以使用angular.element(‘#element_id’);按ID获取元素,其中#element_id是元素的id。

以下是angularjs中的javascript document.getElementById的替代方法 -

Angularjs通过id获取元素:

var currentElement = angular.element('#element_id');

但是 angular.element document.getElementById

之间有什么区别?

2 个答案:

答案 0 :(得分:4)

我会添加 @evolutionxbox 答案,document.getElementById应该比angular.element略快,因为它不必经历例行程序找出传递给函数的内容以及基于此应该采取的步骤。

关于什么时候应该使用。由于这两个方法返回不同的对象类型(jquery vs HTMLElement),因此您可以根据应用程序中的标准实践选择方法 - 是使用jquery元素还是使用本机dom元素进行操作,或者使用什么操作进行操作要对它们执行,因为使用jquery对象比使用本机HTMLElement更容易执行某些操作。

例如,如果你想使用任何jquery方法,比如.hasClass(),你需要像angular.element(document.getElementById('some')).hasClass()这样包装元素,所以它更容易与angular.element('#some').hasClass();一起使用首先。

一般来说,我会采用angular.element方法作为angular本地指令中的首选方法。

答案 1 :(得分:3)

当您使用angular.element(或jQuery)选择具有ID的对象时,它需要一个快捷方式并使用document.getElementById

最大的区别是angular.elementjQuery别名,并返回一个jQuery(或jQuery lite)对象。

document.getElementById is a native DOM method,返回HTMLElement object

TL:博士;

请务必阅读文档