当我在 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/