jquery中的$("#id")與document.getElementById("id")的區別
開始用的是jquery框架,操作DOM。但是並沒有仔細研究和原生js之間的區別是什麼?今天就對這個進行可分析。
如有補充,歡迎大家指教,已完善的更好!
jquery : $("IDname or ClassName")
js : Document.getElementsByClassName('className')
1. 比較alert的區別:
alert(jq_box) // [object Object] 一個jquery返回的jquery物件集合
alert(jq_box.eq(0)) // [object Object] 一個jquery返回的jquery物件集合
alert(jq_box[0]) // [object HTMLDivElement] 一段HTML程式碼
alert(jq_box.get(0)) // [object HTMLDivElement] 一段HTML程式碼
alert(js_box) // [object HTMLCollection] js返回的類陣列物件集合
說明:
[object Object]: jquery包裝後的物件,jquery特有,可以使用jquery特有的方法
[object HTMLCollection]:js獲取到的一個物件集合,類陣列集合,不是陣列,使用DOM物件特有的屬性和方法
注意:二者方法不能混合使用
2. 互相轉化:
2.1 jquery -> js物件
jQuery: $("#id") $("#id").eq(0)
js: $("#id")[0] $("#id").get(0) $("#id").eq(0)[0] $("#id").eq(0).get(0)
2.2 js物件 -> jquery
js: Document.getElementsByClassName('className')
jquery: $(Document.getElementsByClassName('className'))
jquery固有方法: