2012-11-20 51 views
22

我无法选择具有角度的元素。我必须做一些愚蠢的错误:错误:“选择器未实现”

Error: selectors not implemented 
    at Error (<anonymous>) 
    at Object.JQLite [as element] (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:1523:13) 
    at new Root (http://fiddle.jshell.net/kzX9z/7/show/:28:27) 
    at invoke (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:2795:28) 
    at Object.instantiate (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:2805:23) 
    at $get (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:4621:24) 
    at $get.i (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:4200:17) 
    at forEach (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:117:20) 
    at nodeLinkFn (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:4185:11) 
    at compositeLinkFn (https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js:3834:14) angular.js:5563 
$get angular.js:5563 
$get angular.js:4661 
$get.Scope.$apply angular.js:7890 
SNAKE_CASE_REGEXP angular.js:930 
invoke angular.js:2788 
bootstrap angular.js:928 
angularInit angular.js:904 
(anonymous function) angular.js:14397 
trigger angular.js:1695 
event.preventDefault angular.js:1930 
forEach angular.js:110 
eventHandler 

Reproduced in this fiddle

我在做什么错:

function Root($scope) { 
    $scope.elem = angular.element('div'); 
}​ 

导致的错误?我包括jQuery。这不应该工作吗?

+1

+10同样的问题,这个问题有助于:) – Adelin

回答

60

这是因为jquery需要在之前引用角度。 JSFiddle注册了Angular 1.0.2 FIRST,然后添加了作为资源添加的jquery verson。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script> 

这样Angular知道它可以使用JQuery而不是JQLite。一旦你这样做,选择将在angular.element()

Here's your fiddle, updated to reference the scripts in the right order (and altered slightly, see the comments)

工作,如果你没有JQuery的,您可以手动选择的DOM元素。这里

var div = document.querySelector('div'); 
$scope.elem = angular.element(div); 
+4

这个答案助我也 –

+0

加上一个“如果你没有jQuery的”,因为如果理想的角度使用你不会有jQuery的。 –