2015-10-15 79 views
0

我正在嘗試解決某些我認爲是常規且易於修復的問題。我有一個表的表內,像這樣:AngularJS/HTML:渲染後需要修改元素高度

<table style="border:1px solid" class="bordertable"> 
    <tr> 
     <td>text</td> 
     <td>text</td> 
    </tr> 
    <tr> 
     <td>text</td> 
     <td>text</td> 
    </tr> 
    <tr> 
     <td>text</td> 
     <td>text</td> 
    </tr> 
    <tr> 
     <td>text 
      <table style="margin-left:15px;"> 
       <tr id="om1a" name="om1a" tablefix1> 
        <td>text</td> 
       </tr> 
       <tr id="om2a" name="om2a"> 
        <td>text</td> 
       </tr> 
      </table> 
     </td> 
     <td><br /><br /> 
      <table> 
       <tr id="om1" name="om1"> 
        <td>text</td> 
       </tr> 
       <tr id="om2" name="om2" tableFix2> 
        <td>text</td> 
       </tr> 
      </table> 
     </td>--> 
    </tr> 
    <tr> 
     <td>text</td> 
     <td><ul class="ulnorm"> 
      <li>text</li> 
     </ul> 
     </td> 
    </tr> 
    </table> 

基本上,該第二表的兩列是由頂層表分裂。因此,我需要確保最右邊一列(1/2)的高度等於最左邊一列的高度(1/2a)。花了大約2個小時研究如何做到這一點Angular,我還沒有想出一個可行的解決方案。我試圖解決方案到目前爲止,包括:
- 使用$超時(F(),0)
- 使用範圍$表(F(){})在指令
控制器 - 使用代碼
- 。圍繞tablefix1/tablefix2指令

對於這些解決方案,我已經試過的位置移動,之前的元素實際上呈現(代碼正在運行,以便$(「#om1a」)。高度()返回0)。

有什麼我失蹤?是否有另一種方式來獲得相同的效果?

謝謝。

+0

我認爲你的問題已經在這裏得到解答:http://stackoverflow.com/questions/12240639/how-can-i-run-a-directive-after-the-dom-has-finished-rendering – gpersell

+0

我試過使用$ timeout,但它沒有爲我工作。不過,讓我儘快嘗試一件事。 –

+0

@gpersell我試圖從 功能鏈接(範圍,元素,ATTRS){ \t $超時(函數(){ \t $( 「#OM1」)。高度($( 「#om1a」)。高度改變我的指令()); \t}); \t } 回報{ \t鏈接:鏈接 }; 只是 返回功能(範圍,元件,ATTRS){ \t超時(函數(){ \t $( 「#OM1」)高度($( 「#om1a」)高度()); \t} ); } –

回答

-1

我想通了什麼導致這個問題:這個內容被顯示在jQuery UI的移動可摺疊部件,因此一個指令是不正確的方式去。相反,我需要綁定到小部件的展開事件並將所需的代碼放在那裏。