首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS -仅使用jqLite模拟.prev()?

AngularJS -仅使用jqLite模拟.prev()?
EN

Stack Overflow用户
提问于 2013-07-04 15:14:50
回答 2查看 2K关注 0票数 5

angular.element中,只有一个next()方法,但有prev()。有没有办法只用Angular/jqLite来模拟prev()的行为?

EN

回答 2

Stack Overflow用户

发布于 2016-09-06 19:25:07

您还可以使用原生DOM api来获取上一个/下一个同级:

代码语言:javascript
复制
var prevNode = element[0].previousElementSibling;
var prev = angular.element(prevNode); // optional

var nextNode = element[0].nextElementSibling;
var next = angular.element(nextNode); // optional
票数 6
EN

Stack Overflow用户

发布于 2013-07-04 15:35:31

我不是angularjs专家,但我认为你可以写一段代码,比如(未测试...):

代码语言:javascript
复制
function prevOf(yourElement) {
  var parent = yourElement.parent();
  var children = parent.children();

  var prev;
  for (var i = 1; i < children.length; i++){
    if (children[i] === yourElement[0]) {
      prev = children[i-1];
    }
  }

  return prev;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17464018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档