Tôi đã chạy ngày hôm qua trong một vấn đề với bộ chọn jquery mà tôi gán cho một biến và nó làm tôi phát điên.Làm cách nào tôi có thể làm mới biến chọn jquery được lưu trữ và chụp nhanh
Đây là một jsfiddle với testcase:
- giao .elem để var obj tôi
- log cả độ dài ra cửa sổ Console. Kết quả => 4
- Xóa # 3 khỏi DOM
- đăng nhập obj vào bảng điều khiển => số đã xóa # 3 vẫn ở đó và độ dài vẫn là 4. Tôi đã tìm ra truy vấn jquery được chụp nhanh? với biến và không thể? được cập nhật
- log .elem ra cửa sổ Console .. vâng quả => 3 và # 3 đã biến mất
- Bây giờ tôi cập nhật .elem có chiều rộng mới 300
- khai thác gỗ obj & obj.width mang lại cho tôi 300 .. Vì vậy, ảnh chụp đã được cập nhật? Điều thú vị là 3 trong số 4 div có chiều rộng mới, nhưng số 3 div không có ...
Một thử nghiệm khác: Thêm phần tử li vào domtree và đăng nhập obj và .elem. .elem không có li mới và obj không, vì nó vẫn còn ảnh chụp cũ
Có không có cách nào để cập nhật này obj với nội dung mới? Tôi không muốn tạo một obj mới, bởi vì trong ứng dụng của tôi có rất nhiều thông tin được lưu trong đối tượng đó, tôi không muốn hủy ...
Cảm ơn sự giúp đỡ và giải thích của bạn! Nó hoạt động rất tốt với cuộc gọi .selector. Đó là một phương pháp nội bộ jquery? không thể tìm thấy bất kỳ tài liệu nào cho cuộc gọi đó. Dù sao .. Tôi đã thay đổi mã của tôi một chút và thực hiện một setter mới cho số đó và gọi nó với setCount ($ ... chiều dài) mà các công trình cũng khá tốt. – Ralk
@Ralk thuộc tính '.selector' là kỹ thuật nội bộ vâng. – Esailija
@Esailija - Không hoạt động ở đây: http://jsfiddle.net/nJeqf/ (Thuộc tính .selector không được dùng trong jQuery 1.7). http://api.jquery.com/selector/ –