Tôi có cảm giác xấu về cách chèn số lượng HTML lớn hơn. Cho phép giả định chúng tôi đã nhận:jquery: chèn DOM nhanh nhất?
var html="<table>..<a-lot-of-other-tags />..</table>"
và tôi muốn đưa điều này vào
$("#mydiv")
trước đây tôi đã làm một cái gì đó giống như
var html_obj = $(html);
$("#mydiv").append(html_obj);
Is it correct th tại jQuery đang phân tích cú pháp html
để tạo đối tượng DOM? Vâng đây là những gì tôi đọc ở đâu đó (UPDATE: tôi muốn nói rằng tôi đã đọc, jQuery phân tích html để tạo ra cây DOM toàn bằng tay - ngay vô nghĩa của nó ?! ), vì vậy tôi đã thay đổi mã của tôi:
$("#mydiv").attr("innerHTML", $("#mydiv").attr("innerHTML") + html);
Cảm thấy nhanh hơn, phải không? Và có đúng là điều này tương đương với:
document.getElementById("mydiv").innerHTML += html
? hoặc là jquery làm một số công cụ đắt tiền bổ sung trong nền?
Rất thích học các giải pháp thay thế.
Điều này làm việc cho tôi, nhưng tôi đã phải sử dụng append(), không appendChild(). Typo, hoặc đã thay đổi tên phương thức? –
Tôi không chắc chắn làm thế nào mà có thể đã bị trượt bởi, nhưng tôi không nghĩ rằng đó là một phương pháp được đổi tên. Tôi sẽ cập nhật bài đăng của mình. – Prestaul
appendChild() là phương thức DOM w3c thực hiện tương tự như append() trong jQuery (xấp xỉ) – xj9