我正在尝试创建一个脚本,在页面加载时将页面上的现有元素转换为新的元素,但显然会失败。
这是这些元素数组的一个非常奇怪的输出(状态有三个元素,但只显示一个):
angular.module('app',['ngResource'])
.controller('MainCtrl', function($scope, Post) {
$scope.post = new Post();
$scope.posts = Post.get({param1:1, param2:2});
Post.save()
}).provider('Post', function() {
this.$get = ['$resource', function($resource) {
var API = $resource('http://205.147.99.162:8080/UASAPI/UserServices/:param1/:param2', {
param1: "@param1",
param2: "@param2"
});
return API;
}];
});
知道为什么会这样吗?
答案 0 :(得分:2)
两件事。
鼠标悬停在[i]上,你会看到它告诉你数组的值是"冻结"扩展时可能无法反映实时值。
getElementsByClassName
是实时列表。这意味着当您设置className = "something-else"
时,它将从列表中删除。出于这个原因,建议您使用for( i=l-1; i>=0; i--)
而不是通常的循环来遍历它们。