Hướng dẫn dùng insertbefore trong PHP

Trong bài này chúng ta sẽ tìm hiểu hàm insertBefore trong javascript, đây là hàm dùng để chèn một node html vào đằng trước một node khác.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Ở bài trước mình có hướng dẫn cách tạo hàm insertAfter, bài đó mình có nhắc đến hàm insertBefore. Vì vậy, hôm nay mình sẽ giải thích thật chi tiết về cách hoạt động của insertBefore để các bạn hiểu rõ hơn.

1. insertBefore trong javascript là gì?

insertBefore là một phương thức được tích hợp sẵn trong các node object của javascript. Nó giúp ta chèn một node vào đằng trước một node khác.

Nếu bạn đã chèn một node vào vị trí nào đó, và bạn tiếp tục chèn nó vào một vị trí khác nữa thì tại ví trí cũ sẽ bị xóa, sau đó chèn vào vị trí mới. Nói cách khác, node object trong javascript hoạt động theo kiểu tham chiếu nên nó là duy nhất.

Bài viết này được đăng tại [free tuts .net]

Cú pháp như sau:

let insertedNode = parentNode.insertBefore[newNode, referenceNode]

Trong đó:

  • insertNode là node chèn, đây là giá trị trả về của hàm insertBefore.
  • parentNode là node cha của node mới được chèn.
  • newNode là node dùng để chèn.
  • referenceNode là node được chèn. Nếu đây là node null thì newNode sẽ được chèn vào vị trí cuối cùng các node con của parentNode.

Tóm lại, referenceNode là một tùy chọn, nghĩa là bạn có thể truyền hoặc không. Còn các tham số còn lại là bắt buộc.

2. Cách dùng insertBefore javascript

Ví dụ: Giả sử mình có một đoạn mã HTML như sau.

foo bar

Bây giờ mình muốn chèn thêm một thẻ span vào đằng trước thẻ span ở trên thì các bước thực hiện như sau:

  • Đầu tiên cần xác đinh parentNode, đó chính là thẻ
    .
  • Tiếp theo cần xác định referenceNode, đó chính là thẻ .
  • Cuối cùng cần xác định newNode, đó chính là một thẻ span mới.

Cụ thể sẽ như sau:

// Xác định newNode
let newNode = document.createElement['span'];
newNode.textContent = "Bla freetuts.net";

// Xác định referenceNode
let referenceNode = document.getElementById['referenceNode'];

// Xác định parentNode
let parentNode = document.getElementById['parentElement'];
// Hoặc let parentNode = referenceNode.parentNode;

// Thực hiện chèn
let insertedNode = parentNode.insertBefore[newNode, referenceNode];

Như vậy là mình đã hướng dẫn xong cách sử dụng insertBefore trong Javascript. Qua đó bạn cần chú ý một số vấn đề như sau:

  • Cần phải xác định node cha - đó chính là node chứa tất cả các node con [node chèn lẫn node được chèn].
  • Nếu referenceNode là null hoặc không tồn tại thì newNode sẽ được chèn vào vị trí cuối cùng trong các node con của node cha.

  • Trang chủ
  • Tham khảo
  • jQuery
  • jQuery - function
  • .insertBefore[]

Định nghĩa và sử dụng

  • .insertBefore[]: Chèn hoặc di chuyển một thành phần vào ngay trước mục tiêu được chọn.

Cấu trúc

  • Đã được thêm vào từ phiên bản 1.0

.insertBefore[bộ chọn]

Html viết:




Tiêu đề


$[function[]{
    $['

Thành phần p được chèn

'].insertBefore['div.test']; }];
Thành phần div
Thành phần div

Hiển thị trình duyệt:

Ta thấy thành phần p đã được chèn vào ngay trước thành phần div có class test.

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuerySau khi có jQuery

Thành phần div

Thành phần div

Thành phần p được chèn


Thành phần div

Thành phần p được chèn


Thành phần div

Ví dụ thêm

Html viết:




Tiêu đề


$[function[]{
    $['h2'].insertBefore['div'];
}];




Thành phần h2

Thành phần p

Hiển thị trình duyệt:

Ban đầu thành phần h2 nằm trong thành phần div, nhưng khi sử dụng insertBefore thì thành phần h2 được di chuyển ngay vị trí phía trước thành phần div.

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuerySau khi có jQuery


Thành phần h2


Thành phần p


Thành phần h2



Thành phần p


Chủ Đề