Angular.element('#id'),angular.element(document.queryselector('#id')替代

时间:2015-05-06 07:00:27

标签: javascript jquery angularjs

Angular.element('#id'), angular.element(document.queryselector('#id')是否有替代方法可以返回角度相同的id / class的所有元素?

3 个答案:

答案 0 :(得分:6)

您可以使用querySelectorAll()来获取与选择器匹配的多个元素引用

angular.element(document.querySelectorAll('.x'))

注意:元素的ID必须是唯一的,因此只能将它用于任何选择器的类

演示:Fiddle

答案 1 :(得分:2)

Angular.element仅在完整版jQuery可用时才有效:

"如果jQuery可用,angular.element是jQuery函数的别名。如果jQuery不可用,angular.element会委托给Angular的内置jQuery子集,称为" jQuery lite"或" jqLit​​e。" 请参阅:documentation

如果不是,您将收到http://docs.angularjs.org/api/angular.element提到的错误。

使用"#id"获取唯一元素或者#34;#id"如果有多个(所有后续元素都带有"#id"将被忽略),您可以使用document.querySelector('#id')。

如果你想获得多个元素,你必须使用document.querySelectorAll(' .class')来使用一个类。

答案 2 :(得分:1)

你应该检查你的设计。 ID必须是唯一的在一个文档中。

如果您需要访问多个相同类型的元素,请改用类。

您可以通过" Angular.element(document.querySelectorAll(' .className'))访问这些元素