Tôi đã tự hỏi về hai cú pháp khác nhau của việc chọn phần tử trong JavaScript.Sự khác nhau giữa querySelector và getElementsByTagName là gì?
giả sử nếu tôi muốn chọn tất cả các div từ tài liệu hiện thời thì:
var divs = document.getElementsByTagName("div");
var i=0;
while(i < divs.length){
var div=divs[i];
i++;
}
alert("There are "+i+" Divs in Document !");
sẽ hoạt động tốt. Nhưng cũng có một cách khác để làm như vậy, như:
var divs = document.querySelectorAll("div");
var i=0;
while(i < divs.length){
var div=divs[i];
i++;
}
alert("There are "+i+" Divs in Document !");
Khi cả hai hoạt động theo cùng một cách. Sự khác nhau giữa chúng là gì?
Xin cảm ơn trước. Tôi đã nhìn thấy những câu hỏi như thế này nhưng họ không thỏa mãn nhu cầu.
Sự khác biệt là tính linh hoạt và hỗ trợ trình duyệt. –
@Salman_A 'querySelectorAll' là mới và do đó được hỗ trợ bởi các trình duyệt mới. Nhưng 'getElementsByTagName' cũ và do đó có hỗ trợ tuyệt vời. Là nó ? –
Có, 'querySelectorAll' không có sẵn trong IE <8. Điều này có thể quan trọng nếu bạn muốn hỗ trợ các trình duyệt này. –