Tôi đã nghe nói rằng querySelector& querySelectorAlllà các phương pháp mới để chọn DOMphần tử. Làm thế nào để họ so sánh với các phương pháp cũ hơn getElementByIdvà getElementsByClassNamevề hiệu suất và hỗ trợ trình duyệt?
Hiệu suất so với việc sử dụng bộ chọn truy vấn của jQuery như thế nào?
Có đề xuất phương pháp hay nhất nào để sử dụng tập hợp gốc không?
getElementByIdvà getElementsByClassNamevẫn lý tưởng cho các mục đích mà tên của chúng mô tả.
qS/qSAcó thể được sử dụng từ bất kỳ ngữ cảnh phần tử nào, nhưng gEBIchỉ có thể được sử dụng từ documentngữ cảnh.
getElementByIdkhớp với các idthuộc tính để tìm các nút DOM, trong khi querySelectortìm kiếm theo bộ chọn. Vì vậy, đối với một selector ví dụ như không hợp lệ <div id="1"></div>, getElementById('1')có thể làm việc trong khi querySelector('#1')sẽ thất bại, trừ khi bạn nói với nó để phù hợp với idthuộc tính (ví dụ querySelector('[id="1"]').
querySelectorvà querySelectorAllhiện đang được hỗ trợ đầy đủ. caniuse.com/#feat=queryselector