2013-03-06 104 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