我正在尝试使用它的id从DOM获取元素。但我不能让这个工作。
使用AngularJs生成id,这是我的元素:
<map class="map-container" id="{{ 'map' + poleId }}" ng-attr-id="{{ 'map' + poleId }}" map-waiters="waiters" map-pole-id="1">
</map>
我创建了一个启动地图的指令(使用Google Maps API)
angular.module('myapp.modules.map', [])
.directive('map', function() {
return {
restrict: 'E',
scope: {mapWaiters: '@',
mapPoleId: '@'},
link: function(scope, element, attrs) {
var poleCenter = new google.maps.LatLng(49.034758, 2.075081);
var mapOptions = {
center: poleCenter,
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(angular.element("#" + attrs.id), mapOptions);
scope.map = map;
}
}
});
我的问题是angular.element("#" + attrs.id)
在使用动态ID时总是不返回任何元素。我试图显示id字符串,它们匹配。当我使用静态id时,它可以工作。
我也尝试使用document.getElementById()
和window.getElementById()
,但他们找不到我的元素。
非常感谢任何帮助。