mã: http://jsfiddle.net/4hV6c/4/ chỉ thực hiện bất kỳ lựa chọn, và bạn sẽ nhận được một lỗi script trong IE8jQuery không hỗ trợ .has trong IE8? một công việc xung quanh là gì?
Tôi đang cố gắng để làm điều này:
$(end_node.parentNode).has(start_node)
đó trong các trình duyệt hiện đại (chrome, ff, opera , vv) trả về [] nếu start_node không nằm trong end_node.parentNode và trả về phần tử (tôi quên cái nào) nếu nó được tìm thấy.
bây giờ, end_node là phần tử văn bản và parentNode là thực thể DOM thực tế. IE sẽ thực hiện .has chỉ trên $(end_node).has(start_node)
nhưng đó rõ ràng là hành vi khác nhau.
Có công việc nào để làm việc này không?
- trong IE fiddle sẽ xảy ra lỗi, các trình duyệt khác sẽ cảnh báo bạn với giá trị boolean.
CẬP NHẬT: đây là một từ xung quanh ghi đè .has() cho trường hợp cụ thể của tôi .. không chắc chắn nếu nó hoạt động cho tất cả các trường hợp .has, như tôi không biết tất cả. http://jsfiddle.net/8F57r/13/
Nếu điều này thực sự đúng, nó sẽ là một vấn đề lớn và cũng có báo cáo lỗi jQuery liên kết với nó, phải không? – Sparky
fiddle không nói dối. = \ Tôi sẽ xem liệu tôi có thể liên lạc với ai đó tại jQuery/đăng bài này ở đâu đó không. – NullVoxPopuli
Trình tự hoạt động dự kiến và kết quả mong đợi trong jsFiddle của bạn là gì? Tôi nhận được một cảnh báo có chứa "sai" bất kể tôi làm gì. Sử dụng Safari. – Sparky