Hiện tại khi tôi hiển thị các phần tử khác nhau với jQuery, tôi đang tạo lại chúng từ đầu và thêm chúng vào trang.Tạo lại các phần tử thông tin cho một đối tượng khác hoặc ẩn chúng?
Tôi đã đến điểm mà tôi muốn người dùng có thể chọn hộp trên một phần tử, sau đó nhấp vào nút để xem một số thông tin khác, sau đó có thể chuyển về và xem hộp trước đó vẫn được chọn .
Vì hiện tại tôi đang tạo thành phần mới mỗi lần người dùng chuyển, điều này không thể thực hiện một cách đơn giản.
Tôi tự hỏi liệu tốt hơn là vẽ lại các phần tử hay sửa đổi thuộc tính CSS display
.
Tôi có thể thấy lý do tại sao sẽ hữu ích khi ẩn các phần tử nhưng tôi không chắc chắn cần giữ ~ 150 phần tử trên màn hình và chỉ hiển thị chúng không được hiển thị.
Đây là những gì tôi có cho đến nay:
https://jsfiddle.net/W4Km8/7767/
Mã này thay đổi màu sắc của dòng thông tin:
$("#table").on("click", ".on", function() {
$(this).removeClass("on");
$(this).addClass("off");
});
$("#table").on("click", ".off", function() {
$(this).addClass("on");
$(this).removeClass("off");
});
Vấn đề là nếu bạn nhìn vào một tập hợp các dòng thông tin và sau đó quay lại, màu sắc của hàng được đặt lại.
Nếu dữ liệu được lấy từ phụ trợ và bạn đang đối phó với sự hiện diện của các yếu tố sau đó kết thúc người dùng sẽ không bao giờ lấy dữ liệu được cập nhật cho đến khi ông làm mới trang. Mặc dù dữ liệu là tĩnh, nó sẽ là đau đớn để duy trì theo dõi các thuộc tính của yếu tố hoặc khả năng hiển thị. Một ví dụ nhỏ đẹp về những gì bạn đang cố gắng đạt được sẽ giúp ích! – Rayon
'display: none/display: block' có thể là một giải pháp. Nếu mỗi phần tử thuộc về một đối tượng từ mảng thì bạn có thể lưu trữ các thuộc tính được cập nhật của phần tử làm khóa cho các đối tượng và mỗi khi bạn tạo chúng trong vòng lặp, bạn có thể sử dụng các thuộc tính đó để tạo phần tử. – Rayon