Getelementsbyclassname trả lại htmlcollection

Khác với các loại ngôn ngữ định kiểu (typed language), Array in JS may contain nhiều phần tử với nhiều kiểu dữ liệu khác nhau. Vì đặc điểm này, các hàm như Array.prototype.sort buộc phải chuyển từng phần tử về dạng chuỗi (chuỗi) khi sắp xếp, nên chúng ta sẽ có nhưng pha sắp xếp thần sầu như thế này

let a = [1, 4, 3, 10, 11];
a.sort()
Expected:
	a = [1, 3, 4, 10, 11]
Actual:
	a = [1, 10, 11, 3, 4]

Mảng a ở trên được sắp xếp theo thứ tự bảng chữ cái, mặc dù đầu vào của chúng ta là một mảng chỉ chứa toàn kiểu số

TypeScript cũng không xử lý được trường hợp này

let a: Number[] = [1, 4, 11, 3, 10];
a.sort(); // [1, 10, 11, 3, 4]

Cách giải quyết tất nhiên là phải viết bộ so sánh tùy chỉnh cho hàm sắp xếp

a.sort((a, b) => a - b);

Nhìn qua thì có vẻ như không có gì để bàn cãi, nhưng đây thực sự là một hành động dư thừa không đáng có, khi một thao tác đơn giản như sắp xếp một mảng số theo thứ tự tăng dần, mà chúng ta cũng phải viết tùy chỉnh

Một cách giải quyết khác "đẹp" hơn, đó là sử dụng TypedArray. Ở đây, chúng ta giả sử các số trong mảng sắp xếp là các giá trị số nguyên 32 bit. ta = new Int32Array([1, 4, 11, 3, 10]); . loại(); . )

JavaScript được sử dụng rộng rãi để truy xuất hoặc sửa đổi nội dung hoặc giá trị của các phần tử HTML trên trang web, cũng như hiển thị, ẩn hoặc áp dụng hình ảnh động cho các yếu tố khác nhau trong Dom.  

JavaScript đi kèm với nhiều phương thức hiệu quả cho phép bạn chọn các phần tử từ DOM. Trong bài đăng trên blog này, chúng tôi sẽ xem qua các phương pháp này và sẽ học cách sử dụng chúng

Phương pháp getEuityByid

Như tên phương thức cho thấy, tên phương thức này chọn các phần tử từ DOM dựa trên thuộc tính ID của phần tử HTML. Nó chấp nhận tham số duy nhất trong định dạng chuỗi đại diện cho ID của phần tử cần chọn. Nếu phần tử được tìm thấy trong DOM, nó sẽ trả về đối tượng phần tử đại diện cho phần tử DOM. Nếu không có trận đấu nào được tìm thấy, nó chỉ đơn giản là trả về null

Xem xét ví dụ sau,

  1.     
  2.     C# Corner     "home" href="https. //www. c-sharpercorner. com">C# Corner    
  3.      

Trong ví dụ trên, để chọn thẻ mới, chúng tôi chỉ có thể sử dụng mã JavaScript sau

  1. let href = tài liệu. getElementById('home'); href = tài liệu. getElementById('nhà');

Phương thức getEuityByID sẽ truy vấn và chọn phần tử thẻ mới sẽ lưu trữ phần tử bên trong biến HREF.  

Thông thường, một ID là duy nhất trong một trang web. Nếu có nhiều phần tử trên trang HTML có cùng ID,  

GetElementsByClassName Phương thức

Phương thức & NBSP; . Nếu không tìm thấy bất kỳ phần tử phù hợp nào trong DOM, nó sẽ chỉ trả về một HTMLCollection trống

Xem xét ví dụ sau,

  1.     
  2.     Trang chủ     lớp="link" href=< . /mục lục. html""./index.html">Trang chủ    
  3.     Dịch vụ     lớp="link" href=< . /dịch vụ. html""./services.html">Dịch vụ    
  4.     Giới thiệu     lớp học="link" href=< . /Về. html""./about.html">Giới thiệu    
  5.     Liên hệ     lớp="link" href=< . /tiếp xúc. html""./contact.html">Liên hệ    
  6. & nbsp;  

Trong ví dụ trên, chúng tôi có 4 thẻ mới với tên lớp liên kết. Để chọn các liên kết này, chúng tôi có thể sử dụng mã JavaScript sau

  1. hãy   . getelementsbyClassName('liên kết'); 'link'); 

Như bạn có thể thấy trong mã trên, chúng tôi đang sử dụng phương thức getElsionSbyClassName với liên kết tên lớp làm đối số. Điều này sẽ chọn tất cả các thẻ mới trong ví dụ và sẽ thêm chúng vào một htmlCollection sẽ được lưu trữ bên trong biến liên kết

method getElementsByTagName

Phương thức getElementsByTagName truy vấn các phần tử DOM bằng tên thẻ và   . Nếu không tìm thấy bất kỳ phần tử phù hợp nào trong DOM, nó sẽ chỉ trả về một HTMLCollection trống

Xem xét ví dụ sau,

  1.     
  2.     Trang chủ     ". /mục lục. html">Trang chủ    
  3.     Dịch vụ     ". /dịch vụ. html">Dịch vụ    
  4.     Giới thiệu     ". /Về. html">Giới thiệu    
  5.     Liên hệ     ". /tiếp xúc. html">Liên hệ    
  6. & nbsp;  

Trong ví dụ trên, chúng tôi có 4 thẻ mới với tên lớp liên kết. Để chọn các liên kết này, chúng tôi có thể sử dụng mã JavaScript sau

  1. let liên kết = tài liệu. getElementsByTagName('a'); 'a');  

để   . getelementsbyClassName('liên kết');

Như bạn có thể thấy trong mã trên, chúng tôi đang sử dụng phương thức getElsionSbyClassName với liên kết tên lớp làm đối số. Điều này sẽ chọn tất cả các thẻ mới trong ví dụ và sẽ thêm chúng vào một htmlCollection sẽ được lưu trữ bên trong biến liên kết

method getElementsByTagName

Phương thức getElementsByTagName truy vấn các phần tử DOM bằng tên thẻ và   . Nếu không tìm thấy bất kỳ phần tử phù hợp nào trong DOM, nó sẽ chỉ trả về một HTMLCollection trống

  1.     
  2.     Trang chủ     lớp="link" href=< . /mục lục. html""./index.html">Trang chủ    
  3.     Dịch vụ     lớp="link" href=< . /dịch vụ. html""./services.html">Dịch vụ    
  4.     Giới thiệu     lớp học="link" href=< . /Về. html""./about.html">Giới thiệu    
  5.     Liên hệ     lớp="link" href=< . /tiếp xúc. html""./contact.html">Liên hệ    
  6. & nbsp;  

Trong ví dụ trên, chúng tôi có 4 thẻ mới với tên lớp liên kết. Để chọn các liên kết này, chúng tôi có thể sử dụng mã JavaScript sau

  1. hãy để liên kết = tài liệu. querySelector('a'); 'a');  

để   . getelementsbyClassName('liên kết');

Như bạn có thể thấy trong mã trên, chúng tôi đang sử dụng phương thức getElsionSbyClassName với liên kết tên lớp làm đối số. Điều này sẽ chọn tất cả các thẻ mới trong ví dụ và sẽ thêm chúng vào một htmlCollection sẽ được lưu trữ bên trong biến liên kết

  1. hãy để liên kết = tài liệu. bộ chọn truy vấn ('. liên kết'); . liên kết''.link');

method getElementsByTagName

Phương thức getElementsByTagName truy vấn các phần tử DOM bằng tên thẻ và   . Nếu không tìm thấy bất kỳ phần tử phù hợp nào trong DOM, nó sẽ chỉ trả về một HTMLCollection trống

  1. hãy để liên kết = tài liệu. querySelector('a[href=". /Về. html"]');  'a[href=". /Về. html"]');  

Xem xét ví dụ sau,

Trong ví dụ trên, chúng tôi muốn chọn các thẻ mới bằng JavaScript. Chúng tôi có thể dễ dàng thực hiện điều đó bằng cách sử dụng mã JavaScript sau

Phương thức getElsementsByTagName sẽ chỉ cần nhận tất cả các thẻ mới từ DOM và sẽ bổ sung chúng vào một đối tượng HTMLCollection sẽ được lưu trữ bên trong biến liên kết

  1.     
  2.     Trang chủ     lớp="link" href=< . /mục lục. html""./index.html">Trang chủ    
  3.     Dịch vụ     lớp="link" href=< . /dịch vụ. html""./services.html">Dịch vụ    
  4.     Giới thiệu     lớp học="link" href=< . /Về. html""./about.html">Giới thiệu    
  5.     Liên hệ     lớp="link" href=< . /tiếp xúc. html""./contact.html">Liên hệ    
  6. & nbsp;  

Trong ví dụ trên, chúng tôi có 4 thẻ mới với tên lớp liên kết. Để chọn các liên kết này, chúng tôi có thể sử dụng mã JavaScript sau

  1. let neo = tài liệu. querySelectorAll('a'); 'a');   
  2. let liên kết = tài liệu. truy vấnSelectorAll('. liên kết'); . liên kết' '.link');

To know more information,

  1. https. // nhà phát triển. mozilla. org/en-US/docs/Web/API/Document/getElementById
  2. https. // nhà phát triển. mozilla. org/en-us/docs/web/api/document/getelementsbyClassName
  3. https. // nhà phát triển. mozilla. org/en-US/docs/Web/API/Document/getElementsByTagName
  4. https. // nhà phát triển. mozilla. org/en-US/docs/Web/API/Document/querySelector
  5. https. // nhà phát triển. mozilla. org/en-US/docs/Web/API/Document/querySelectorAll

Câu lệnh JQuery nào chọn tất cả các thẻ mới trong các đoạn trên một trang?

GetElementsByTagName ('A'), ví dụ, chọn tất cả các thẻ mới (liên kết) trên một trang);