2011-01-18 40 views

Trả lời

11

Tôi sẽ trả lời câu hỏi ở một vài phần.

Trong JavaScript (không chỉ jQuery, nhưng tất cả JavaScript) từ khóa tài liệu là một xử lý trên đối tượng có chứa HTMLDocument. Bạn có thể sử dụng xử lý này trong các trường hợp sau ...

// Get the current web address 
alert(document.location.href); 

Khi bạn chuyển tài liệu sang jQuery, nó phân tích tài liệu vào đối tượng jQuery.

Khi bạn chuyển bộ chọn "html" tới jQuery, nó sử dụng chuỗi này để tìm bất kỳ phần tử nào trong mô hình đối tượng tài liệu khớp với bộ chọn (trong mọi trường hợp, sẽ có một phần tử html).

Trong thực tế, bạn sẽ không nhận thấy sự khác biệt trong hành vi giữa các:

$(document).click(function() { alert('blah'); }); 
$('html').click(function() { alert('blah'); }); 
$('body').click(function() { alert('blah'); }); 

Nhưng sự khác biệt kỹ thuật là tài liệu đó là một đối tượng và 'html' là một chuỗi được sử dụng để tìm kiếm một thành phần. Cả đối tượng và các phần tử phù hợp đều được chuyển đổi thành các đối tượng jQuery.

Khi tất cả đều thêm trình xử lý sự kiện nhấp chuột vào phần "hiển thị" của trang, đó là phần duy nhất của trang mà người dùng thực sự có thể nhấp vào.

+0

giải thích tốt đẹp – kobe

+0

Cảm ơn rất nhiều thông tin :) – Elgoog

+0

Cảm ơn - luôn sẵn lòng trợ giúp :) – Fenton

0

cố gắng để dập innerHTML của cả hai, whats kết quả? tôi nghĩ (nhưng han't thử nghiệm) mà

  • document thực sự là tài liệu hoàn chỉnh, bao gồm <html> và tất cả các yếu tố trong nó
  • html tài liệu tham khảo các <html> -tag, do đó sẽ chỉ là <head><body> trong đầu ra của bạn, không phải là <html> -tag tự

nhưng: cho mã của bạn (thêm một nhấp handler) thì sẽ không có sự khác biệt, bởi vì cách nhấn vào tài liệu sẽ luôn là một nhấp chuột vào <html> (miễn là trang web của bạn hợp lệ và an <html> -tag)

0

Họ chọn cùng một thứ. Sự khác biệt duy nhất là động cơ sizzle của jQuery tìm thấy nó như thế nào. Trường hợp đầu tiên là một trường hợp đặc biệt trong hàm khởi đầu jQuery, hàm thứ hai sử dụng getElementsByTagName

Các vấn đề liên quan