我是AngularJS世界中的新成員。我在這裏有一個情況。在angularJS中獲取html元素
<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body ng-app="myApp">
<table ng-controller="myCtrl" border="1">
<tr class="x" ng-repeat="x in records">
<td>{{x.Name}}</td>
<td>{{x.Country}}</td>
</tr>
</table>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.records = [
{
"Name" : "Alfreds Futterkiste",
"Country" : "Germany"
},
{
"Name" : "Berglunds snabbköp",
"Country" : "Sweden"
},
{
"Name" : "Centro comercial Moctezuma",
"Country" : "Mexico"
},
{
"Name" : "Ernst Handel",
"Country" : "Austria"
}
];
var arrays = document.getElementsByClassName("x");
console.log(arrays.length);
});
</script>
我試圖(使用納克 - 重複)來獲取HTML元件陣列我沒有通過angularJS負載。當我記錄整個數組的值時,其結果是正確的。但是,當我登錄array.length或array [1]時,結果分別爲0和undefined。我試圖把這些代碼放在$ scope.on('viewContentLoaded')中,以確保所有html元素都完成加載,但結果是一樣的。那麼我的愚蠢在這裏呢?
謝謝。
****解決方案:
$timeout(function(){
var arrays = document.getElementsByClassName("x");
console.log(arrays.length);
});
由於@Vladimir中號
爲什麼你不只是得到通過角數組:$ scope.records? $ scope.records.length? –
我只是想獲取html元素來操縱它們; array.length不是我的目的;我只是用它來測試。 :) – Justin