jquery
  • hide
  • 2009-10-23 23 views 0 likes 
    0

    這是一個奇怪的問題。通過jquery,我想創建一個容器對象,可視化地隱藏它,加載AJAX內容,並且在加載內容時顯示。jquery hide只能在邊框元素上工作

    奇怪的是,它似乎只是隱藏對象,如果所述對象被給予邊界。例如:

    這工作:

    tr.find('td') 
        .html("<div class='inlineLoading'>loading...</div>" 
         + "<div " 
         + "class='loadedContent' " 
         + "style='background: green; border: 1px solid red;'>" 
         + "</div>" 
        ) 
    ; 
    
    var container = tr.find('div.loadedContent'); 
    container.hide('slow',loadContent(container,dataURL)); 
    

    的loadContent功能:

    function loadContent(container,dataURL) { 
        container.load(dataURL) 
    } 
    

    運行上面,它的工作原理如預期。我清楚地看到帶有紅色邊框的DIV被創建,然後慢慢地隱藏起來。查看呈現的源代碼,我可以確認ajax調用也正在加載內容。

    但是,如果我從上面省略紅色邊框,它永遠不會隱藏自己。明確加載的div(使用綠色背景)不會隱藏自身,然後從LOAD調用中加載內容。

    對這裏可能會發生什麼有什麼想法?這一切都在Firefox中運行。

    +0

    嗯,我仍然不確定爲什麼上述做它,但我想出的解決方法是隻是不打擾,即使隱藏div。相反,我只是在創建時將其設置爲「display:none」,然後再顯示它。 –

    回答

    0

    爲了方便調試,不要隱藏內容,先讓它加載到div中,看看它的工作是否正常,然後進行隱藏和顯示。這樣,你會知道什麼在div中,因爲它可能只是從ajax中拉出來,並且永遠不會插入div中。

    +0

    加載工作正常。起初這是令人困惑的事情。在我告訴它顯示之前,我會看到我想加載的內容。它似乎並不像CSS邊界會改變行爲,但它是。 –

    +0

    是否修復?如果沒有,然後嘗試直接從jquery添加CSS邊框。 – Basit

    相關問題