2013-03-06 98 views
0

可以在元素顯示後設置元素的html。在這種情況下,用戶是否會發現可見的差異?例如。在顯示元素後設置innerhtml

$("#abc").show(); 
$("#abc").append("<div>Test div</div>"); 

另外我想知道這是否會導致不必要的瀏覽器重繪。

感謝, Gautham

+0

你應該嘗試一下......但是,這不是什麼Stackoverflow在你編輯你的時候就做了張貼?你有沒有看到任何可見的異常? :P – sinni800 2013-03-06 07:41:51

+0

'.html()'替換現有的內容'#abc'。 – Jai 2013-03-06 07:47:47

+0

我沒有看到任何可見的變化。但它會導致任何額外的重繪。我如何測試? – 2013-03-06 07:48:02

回答

0

可能,這可能幫助:fiddle

$('button').click(function() { 
    console.log('Height is ' + $("#abc").height() + ' before show.'); 
    $("#abc").show(); 
    console.log('Height is ' + $("#abc").height() + ' after show.'); 
    $("#abc").append("<div>Test div</div>"); 
    console.log('Height is ' + $("#abc").height() + ' after filling.'); 
}); 

輸出:

Height is 0 before show. 
Height is 0 after show. 
Height is 20 after filling. 

browser-reflows-repaint for info