README-vi
Bạn không cần jQuery nữa đâu
Ngày nay, môi trường lập trình front-end phát triển rất nhanh chóng, các trình duyệt hiện đại đã cung cấp các API đủ tốt để làm việc với DOM/BOM. Bạn không còn cần phải học về jQuery nữa. Đồng thời, nhờ sự ra đời của các thư viện như React, Angular và Vue đã khiến cho việc can thiệp trực tiếp vào DOM trở thành một việc không tốt. jQuery đã không còn quan trọng như trước nữa. Bài viết này tổng hợp những cách để thay thế các hàm của jQuery bằng các hàm được hỗ trợ bởi trình duyệt, và hó cũng hoạt động trên IE 10+
Danh mục
Ngôn ngữ khác
Query Selector
Đối với những selector phổ biến như class, id hoặc thuộc tính thì chúng ta có thể sử dụng document.querySelector hoặc document.querySelectorAll để thay thế cho jQuery selector. Sự khác biệt của hai hàm này là ở chỗ:
document.querySelectortrả về element đầu tiên được tìm thấydocument.querySelectorAlltrả về tất cả các element được tìm thấy dưới dạng một instance của NodeList. Nó có thể được convert qua array bằng cách[].slice.call(document.querySelectorAll(selector) || []);Nếu không có element nào được tìm thấy, thì jQuery sẽ trả về một array rỗng
[]trong khi đó DOM API sẽ trả vềnull. Hãy chú ý đến Null Pointer Exception. Bạn có thể sử dụng toán tử||để đặt giá trị default nếu như không có element nào được tìm thấy, ví dụ nhưdocument.querySelectorAll(selector) || []
Chú ý :
document.querySelectorvàdocument.querySelectorAllhoạt động khá CHẬM, hãy thử dùnggetElementById,document.getElementsByClassNamehoặcdocument.getElementsByTagNamenếu bạn muốn đạt hiệu suất tốt hơn.
1.0 Query bằng selector
1.1 Query bằng class
1.2 Query bằng id
1.3 Query bằng thuộc tính
1.4 Tìm bất cứ gì.
Tìm node
Tìm body
lấy thuộc tính
Lấy giá trị của thuộc tính
data
1.5 Tìm element cùng level/trước/sau
Element cùng level
Element ở phía trước
Element ở phía sau
1.6 Element gần nhất
Trả về element đầu tiên có selector khớp với yêu cầu khi duyệt từ element hiện tại trở lên tới document.
1.7 Tìm parent
Truy ngược một cách đệ quy tổ tiên của element hiện tại, cho đến khi tìm được một element tổ tiên ( element cần tìm ) mà element đó là con trực tiếp của element khớp với selector được cung cấp, Return lại element cần tìm đó.
1.8 Form
Input/Textarea
Lấy index của e.currentTarget trong danh sách các element khớp với selector
.radio
1.9 Nội dung Iframe
$('iframe').contents()trả về thuộc tínhcontentDocumentcủa iframe được tìm thấyNọi dung iframe
Query Iframe
CSS & Style
Thêm class và element
Loại bỏ class class ra khỏi element
Kiểm tra xem element có class nào đó hay không
Toggle class
2.2 Chiều rộng, chiều cao
Về mặt lý thuyết thì chiều rộng và chiều cao giống như nhau trong cả jQuery và DOM API:
Chiều rộng của window
Chiều cao của Document
Chiều cao của element
2.3 Position & Offset
Position
Offset
2.4 Scroll Top
Thao tác với DOM
3.1 Loại bỏ
3.2 Text
Lấy text
Đặt giá trị text
3.3 HTML
Lấy HTML
Đặt giá trị HTML
3.4 Append
append một element sau element con cuối cùng của element cha
3.5 Prepend
3.6 insertBefore
Chèn một node vào trước element được query.
3.7 insertAfter
Chèn node vào sau element được query
Ajax
Thay thế bằng fetch và fetch-jsonp
Events
Để có một sự thay thế đầy đủ nhất, bạn nên sử dụng https://github.com/oneuijs/oui-dom-events
Hàm tiện ích
6.1 isArray
6.2 Trim
6.3 Object Assign
Mở rộng, sử dụng object.assign https://github.com/ljharb/object.assign
6.4 Contains
Các trình duyệt hỗ trợ





Latest ✔
Latest ✔
10+ ✔
Latest ✔
6.1+ ✔
Giấy phép
MIT
Last updated