2015-02-24 68 views
0

編寫一些代碼時,我遇到了兩種做同樣事情的方法。我正在尋找最有效的方法來查找以前的兄弟姐妹,以便從中提取字符串。使用Javascript查找上一個同胞元素

我的項目目前使用jQuery,所以這兩個選項都可用。

https://developer.mozilla.org/en-US/docs/Web/API/Node/previousSibling

http://api.jquery.com/prev/

究竟是爲什麼是更好的選擇使用和?

+1

兩者各有利弊。 – Quentin 2015-02-24 16:51:06

回答

3

如果你可以在Vanilla JavaScript做到這一點,那就這樣做。

jQuery總是比較慢,因爲它運行了很多函數調用和抽象層 - 這些層讓它(應該是*)更容易編寫代碼,但是瀏覽器必須爲同樣的效果做更多的工作。

*也許我已經做香草的JavaScript太久,但我發現jQuery的可怕親自使用...

1

如果你打算用它來工作作爲一個jQuery對象獲取之後,使用jQuery。否則,將其重新轉換爲jQuery對象非常昂貴。如果您只打算使用Vanilla JS,請使用純DOM方法。

0

Jquery只在內部使用previousSibling方法,所以它會比本地方法(即previousSibling)慢一點。只有東西都返回不同的結果,previousSibling返回一個節點,並且prev將爲同一個節點返回jquery包裝元素。

1

previousSibling是一個本地屬性,顯然它會更快,但它是隻讀的,只能用它來讀取前一節點的屬性。但在IE8或更低版本中不支持,因此您必須在那些瀏覽器中使用previousElementSibling,這些瀏覽器還提供對前一個節點的只讀訪問權限。

如果您打算再次將返回節點包裝到jQuery中,我建議您使用prev,因爲它會對所有這些瀏覽器差異進行摘要並返回一個jQuery對象。所以這有點兒開銷。

相關問題