2012-05-28 51 views
0

有沒有一種最好的方式來「清除」使用jQuery元素內的html?我使用.html(null),但是效率更高,爲.html("")。有沒有更好/更好的方式來實現這一目標?JavaScript/jQuery html(null)vs html('')

+0

可能重複[如何刪除一個元素的jQuery的內容?](http://stackoverflow.com/questions/1474607/how-to-remove- an-elements-content-with-jquery) –

回答

10

是否有理由不僅僅使用.empty()?順便說一句,如果你的問題是關於「效率」的問題,只要效率與速度大致相當,那麼我可以建議JS Perf進行自我測試嗎?

順便說一句,在一個JS Perf comparison,與鉻18/Ubuntu 11.04,.empty()似乎一貫是更快的方法。 參考文獻:

除上述之外;如果你不介意使用普通的本地JavaScript,那麼它會更快(在我的三星II上,DOM運行在〜82k ops/sec,在我的桌面上(沒有特別的)在Chromium 18/Ubuntu 11.04中,DOM運行在〜860k ops/sec,而不是.empty()(下一個最快)在8.4k ops/sec)。

基於DOM-A的方法:

var list = document.getElementsByTagName('ul')[0]; 
while (list.firstChild) { 
    list.removeChild(list.firstChild); 
} 

JS Perf comparison of all above approaches

參考文獻:

+3

用'null'作爲值,他使用'empty' - 間接http://jsapi.info/jquery/1.7.1/jQuery.fn.html – Andreas

+0

@Andreas:真棒,謝謝! –

+0

不知道。非常感謝信息:) –