Chắc chắn - tạo options
một chuỗi các chuỗi và sử dụng .join('')
thay vì +=
mỗi lần qua vòng lặp. Cú va chạm hiệu năng nhẹ khi xử lý số lượng lớn các tùy chọn ...
var options = [];
$.getJSON("/Admin/GetFolderList/", function(result) {
for (var i = 0; i < result.length; i++) {
options.push('<option value="',
result[i].ImageFolderID, '">',
result[i].Name, '</option>');
}
$("#theSelect").html(options.join(''));
});
Đúng. Tôi vẫn đang làm việc với các chuỗi toàn bộ thời gian. Dù bạn có tin hay không, đó là cách nhanh nhất để xây dựng một đoạn DOM ... Bây giờ, nếu bạn chỉ có một vài lựa chọn, điều đó sẽ không thực sự quan trọng - hãy sử dụng kỹ thuật mà Dreas thể hiện nếu bạn thích phong cách này. Nhưng hãy lưu ý, bạn đang gọi i*2
thời gian của trình phân tích cú pháp HTML bên trong của trình duyệt , thay vì chỉ một lần và sửa đổi DOM mỗi lần qua vòng lặp ... với đủ số lượng tùy chọn. cuối cùng bạn sẽ trả tiền cho nó, đặc biệt là trên các trình duyệt cũ hơn.
Lưu ý: Như Công lý chỉ ra, điều này sẽ sụp đổ nếu ImageFolderID
và Name
không được mã hóa đúng cách ...
<option/>
yếu tố thay vì tạo ra từng yếu tố?