如何操作当前元素';使用AngularJS的父元素、兄弟元素、下一个元素和上一个元素?
以下是html代码,我将如何操作当前元素';使用AngularJS的父元素、兄弟元素、下一个元素和上一个元素?,angularjs,Angularjs,以下是html代码,我将$scope属性和值附加到控件中,如下所示: 这是单击功能,我将更改单击图像上的图像路径,如下所示: $scope.ratingClick = function(e) { $log.info(e.currentTarget.src); //Current element src $log.info(e.next().src); //Next Element Src $log.info(e.prev().src); //
$scope
属性和值附加到控件中,如下所示:
这是单击功能,我将更改单击图像上的图像路径,如下所示:
$scope.ratingClick = function(e)
{
$log.info(e.currentTarget.src); //Current element src
$log.info(e.next().src); //Next Element Src
$log.info(e.prev().src); //Prev Element Src
}
在每个图像上单击,我必须更改当前、上一个和下一个元素的图像URL。但我只能得到当前的图像网址,已被点击
如何使用AngularJS中的当前元素获取父元素、下一个元素、上一个元素和同级元素?
e
指的是单击事件,通常e.target
包含对实际相关元素的引用(我不确定这与currentTarget
有什么区别)
您可以像这样使用e.target
:
angular.module('app',[]).controller('ctrl',function($scope){
$scope.items=[
1, 2, 3, 4, 5, 6
];
$scope.logPrevNext=函数(e){
console.log('prev',angular.element(e.target.prev().text());
console.log('current',angular.element(e.target.text());
console.log('next',angular.element(e.target.next().text());
};
});代码>
项目{{$index}
e
指的是点击事件,通常e.target
包含对实际相关元素的引用(我不确定这与currentTarget
有什么区别)
您可以像这样使用e.target
:
angular.module('app',[]).controller('ctrl',function($scope){
$scope.items=[
1, 2, 3, 4, 5, 6
];
$scope.logPrevNext=函数(e){
console.log('prev',angular.element(e.target.prev().text());
console.log('current',angular.element(e.target.text());
console.log('next',angular.element(e.target.next().text());
};
});代码>
项目{{$index}
在控制器中操作dom不适合于角度控制。也许您可以将您的代码更改为指令,并在链接中操作domfunction@selvassn,我该怎么做?在控制器中操作dom在Angular中是不可取的。也许您可以将您的代码更改为指令,并在链接中操作domfunction@selvassn“我怎么能这么做呢?”卡斯拉格,这是ng repeat的一部分。所以,如果我像上面提到的那样,那么它将改变所有行中的图像源。ng repeat只是我的示例,因为您没有提供其他上下文-不管怎样,它不应该改变太多-基本逻辑仍然成立。您的代码中有什么不同之处会使这项工作失败?答案的要点是:不要修改元素本身,而是公开一个将在图像源中使用的控制器变量,并对其进行修改。这是双向绑定的一个很好的例子。@casrag,它是ng repeat的一部分。所以,如果我像上面提到的那样,那么它将改变所有行中的图像源。ng repeat只是我的示例,因为您没有提供其他上下文-不管怎样,它不应该改变太多-基本逻辑仍然成立。您的代码中有什么不同之处会使这项工作失败?答案的要点是:不要修改元素本身,而是公开一个将在图像源中使用的控制器变量,并对其进行修改。这是一个很好的双向绑定示例。