2015-05-06 78 views
1

我正在使用jQuery Mobile 1.4.5。我有一個不顯示的元素,在下列條件下: 1.它的CSS的定位是「絕對」 2.這是DOM中的JQM「網格」下:DOM元素在位置時不顯示:絕對

<div class="ui-grid-a"> 
    <div class="ui-block-a"> 
    <div class="tt_autocomplete_wrap"> 
     <ul class="jqm_autocomplete ui-listview ...bla > 
      <li class="ui-first-child" > 
      <a class="ui-btn ui-btn-icon-right ui-icon-carat-r" href="#">Not Seen If Absolute</a> 

查看詳細信息點擊這裏:http://jsfiddle.net/needlethread/kkpjq8ww/

如果.jqm_autocomplete元素的CSS位置設置爲「絕對」,則演示中的第一個元素不會顯示。我把它放在小提琴顯示,但取消註釋行顯示的問題:

.jqm_autocomplete { 
    /* uncomment the next line to see the problem */ 
    /* position: absolute; */ 

但是:它正確定位 - 它可以使用開發者工具在提綱的形式可以看出,正是它應該是。而且它的z軸位置也在一切之前。

我看不到任何工作和非工作元素的計算樣式的差異,但我錯過了什麼?

編輯:看起來像他們其中之一正在削減。小提琴更新,以清楚地表明這一點:http://jsfiddle.net/needlethread/kkpjq8ww/16/

回答

0

試試這個:

$("#element").show(); 
1

試圖評論它的父DIV + CSS類即position: relative<div class="tt_autocomplete_wrap">並取消position: absolute;

在CSS

.tt_autocomplete_wrap { 
    /*position: relative;*/ 
} 

希望這有助於!

+1

這有效 - 但爲什麼?原因在於_wrap是相對的,所以絕對定位的ul將相對於它放置(而不是更高一些的其他元素)。哪些工作 - 但爲什麼它阻止它顯示? – Dan

+0

當它設置爲position:relative時,div高度爲0px,如果你想讓它與位置相關,那麼add height:54px;爲那個div – gamini2006

+0

謝謝。我現在看到它正在被相對分區裁剪。在此更新以顯示div大小。 [鏈接](http://jsfiddle.net/needlethread/kkpjq8ww/14/)。我想這引發了一個問題:爲什麼只有其中一個元素被修剪?此下拉菜單可以有任何垂直尺寸,所以我需要它顯示在頁面其餘部分的「頂部」,而不會被其他元素截斷。 – Dan