javascript - 在 Angular 指令中获取父元素

标签 javascript angularjs dom angularjs-directive

当我在 datepicker 日历上单击按钮时,我试图找到父 tr 元素。因为我不想在我的 Angular 应用程序中使用 jQuery 以脚本标记(编辑) 的形式,而且严格使用 CSS 是不可能的,所以我创建了下面的指令。 elm.find 能够正确地找到和更改按钮的 css,所以我知道我已经找到了我正在寻找的元素,但是现在我需要向上移动 DOM。

我习惯了 jQuery 语法,但它不起作用,而且我无法在互联网上找到任何有效的东西。有人可以帮我解决语法问题吗?

    /* Linker for the directive */
    var linker = function (scope, elm, attrs) {                   
        elm.on('click', function() {
            elm.find('table tbody tr button.active').parent('td').css('background-color', 'red');
        });
    };

编辑

这是一个需要放置在 uib-datepicker 元素(Angular UI Bootstrap)上的指令,以便更改整行的背景颜色。该框架不附带此功能,并且在页面加载之前不会生成 HTML。

我需要将指令附加到下面的元素,找到所选项目,然后返回 DOM 以找到父级 tr

<uib-datepicker highlightselectedrow class="well well-sm" ></uib-datepicker>

最佳答案

.parent 将只看上层 元素。我会说宁可使用 .closest 所以它会在父级中搜索直到它得到 td

elm.find('table tbody tr button.active')
.closest('td').css('background-color', 'red');

关于javascript - 在 Angular 指令中获取父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38623016/

相关文章:

javascript - 在 Crossrider 弹出窗口中更改 HTML 页面

javascript - 查找数组中第三大的单词 - CoderByte - javascript

javascript - 表单元素值更改后的 Angular JS 验证

javascript - 转换 document.getElementById 以访问 TypeScript 中的文件

javascript - JSON 响应未在 Angularjs View 中显示

javascript - 如何判断 DOM 元素在当前视口(viewport)中是否可见?

javascript - jQuery 移动 |页面之间的导航

javascript - AngularJS $locationProvider.html5Mode(true) 给出错误 `url is undefined`

javascript - 如何使用 Javascript 查找带命名空间的 HTML 元素

javascript - javascript 函数中的特定行不起作用