Web Cơ Bản

Phương thức replaceWith() trong jQuery

1) Phương thức replaceWith() trong jQuery

- Phương thức replaceWith() dùng để thay thế phần tử được chọn bởi một nội dung khác.

2) Cách sử dụng phương thức replaceWith() trong jQuery

- Với phương thức replaceWith(), ta có hai trường hợp sử dụng tương ứng với hai loại cú pháp:

Cú pháp 1:

- Cú pháp này thường được sử dụng trong trường hợp bộ chọn chỉ tìm được một phần tử trùng khớp duy nhất, hoặc bạn muốn tất các phần tử trùng khớp được tìm thấy đều bị thay thế bởi cùng một kiểu nội dung.

$(selector).replaceWith(content);

- Lưu ý:

  • Tham số "content" là nội dung mà bạn muốn thay thế cho các phần tử được chọn.
  • Tham số "content" có thể là một nội dung văn bản gì đó hoặc một phần tử HTML.

Cú pháp 2:

- Cú pháp này thường được sử dụng trong trường hợp bộ chọn tìm ra được nhiều phần tử trùng khớp và bạn muốn mỗi phần tử đó được thay thế bởi một nội dung riêng.

$(selector).replaceWith(function(index,currentcontent){
    return content;
});

- Dưới đây là bảng mô tả ý nghĩa & cách sử dụng các tham số trong cú pháp trên:

Tham số Mô tả ý nghĩa & cách sử dụng
function(index,currentcontent){
    return content;
}

- Chỉ định một hàm trả về nội dung mà bạn muốn thay thế cho các phần tử được chọn.

- Trong đó:

  • Tham số "index" trả về chỉ số của phần tử được chọn trong danh sách các phần tử trùng khớp được tìm thấy.
  • Tham số "currentcontent" trả về nội dung của phần tử.
  • "content" là nội dung mà bạn muốn thay thế cho phần tử được chọn.

3) Một số ví dụ

Ví dụ:

- Thay thế tất cả các phần tử <p> bởi <h3>Lập Trình Web</h3>


<script>
    $(document).ready(function(){
        $("button").click(function(){
            $("p").replaceWith("<h3>Lập Trình Web</h3>");
        });
    });
</script>
Xem ví dụ
Ví dụ:

- Thay thế tất cả các phần tử <p> (tùy trường hợp)


<script>
    $(document).ready(function(){
        $("button").click(function(){
            $("p").replaceWith(function(a,b){
                if(a==0){return "<h3>Tài liệu HTML</h3>";}
                if(a==1){return "<i><u>" + b + "</u></i>";}
                if(a==2){return "<h1>" + b + "</h1>";}
            });
        });
    });
</script>
Xem ví dụ

4) Điểm giống và khác giữa replaceWith() & replaceAll()

- Dưới đây là bảng mô tả điểm giống và khác giữa phương thức replaceWith() và replaceAll():

replaceWith() replaceAll()
Điểm giống - Cả hai phương thức này đều được dùng để thay đổi phần tử được chọn bởi một nội dung khác.
Điểm khác - Nội dung mà bạn muốn thay thế cho phần tử được chọn không bắt buộc phải là phần tử. - Nội dung mà bạn muốn thay thế cho phần tử được chọn phải là phần tử (tức là bắt đầu bằng thẻ và kết thúc bởi thẻ)
- Bộ chọn được đặt ở phía trước. - Bộ chọn được đặt ở phía sau.