[英]Get parent element in Angular directive
當我在datepicker
日歷上點擊一個按鈕時,我正試圖找到父tr
元素。 由於我不想在我的Angular應用程序中以腳本標記(編輯)的形式使用jQuery,並且這不可能使用嚴格的CSS,我在下面創建了指令。 elm.find
能夠正確地找到並改變按鈕的css,所以我知道我找到了我正在尋找的元素,但是現在我需要向上移動DOM。
我習慣了jQuery語法,這種方法不起作用,而且我無法在interwebs上找到任何有效的東西。 有人可以用語法幫助我嗎?
/* 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
將只看上面的element
。 我會說相當使用.closest
所以它會在父母中搜索直到它得到td
elm.find('table tbody tr button.active')
.closest('td').css('background-color', 'red');
采用比psuedo jQuery更有棱角的方法呢? 這是基於ngStyle Angular doc :
<div ng-style="myStyle">Test</div>
<div ng-click="myStyle={'background-color':'red'}">Click Me</div>
然后,您可以將click
事件放在您想要的任何元素上(td)。 ng-style
可以移動到你想要的東西(tr)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.