簡體   English   中英

在Angular指令中獲取父元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM