我想在单击 a
时滑动切换 closest .contactDetails
。下面是我的代码,它不起作用。
<ul>
<li ng-repeat="detail in details">
<div>
<a show-contact>{{something}}</a>
<div class="contactDetails">
<ul>
<li ng-repeat="another ng-repeat">
<b>{{something}}</b>
</li>
</ul>
</div>
<br>
</div>
</li>
</ul>
app.directive("showContact", function () {
return {
restrict: "A",
link: function (scope, element) {
element.click(function () {
element.find(".contactDetails").slideToggle();
});
}
};
});
我认为 AngularJS 无法以某种方式找到最近的 .contactDetails
,因此无法执行 slideToggle()
。
我试过了,但 element.closest(".contactDetails")
也没有用。感谢您的帮助。
最佳答案
由于 anchor 标记不包含您不能使用查找的div。最接近的搜索向上 DOM,而不是向下。以下是我的做法(仅显示链接:指令的一部分):
function(scope, element) {
element.on("click", function() {
element.next(".contactDetails").slideToggle();
});
}
关于javascript - 在 AngularJS 中查找最近的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35904558/