javascript - 在 AngularJS 中查找最近的元素

标签 javascript angularjs

我想在单击 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();
    });
}

jsFiddle

关于javascript - 在 AngularJS 中查找最近的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35904558/

相关文章:

angularjs - 是否可以通过 Angular 中 UI-Router 的 AJAX 请求加载模板?

javascript - 如何将 ng-keypress 更改为 ng-change 功能

php - 如何在Docker容器中为Laravel运行和安装Protractor E2E测试?

javascript - React + D3 强制布局 - 圆圈在渲染几秒后不再可拖动

javascript - 带剑道调度程序的动态资源

javascript - 我可以配置 Jade 来生成可读的缩进的 HTML 代码而不是单行流吗?

javascript - 匹配标准和离群值输入的正则表达式

javascript - 尽管数据已排序,如何提高 Highcharts 的性能并避免错误 15?

angularjs - 从 http 响应中以 Angular 保存文件

javascript - Q promises - 数组中每个元素的 Node.js 函数