2016-05-15 18 views
5

Ví dụ, khi tôi chạy đoạn mã sau vào bảng điều khiển JavaScript của Chrome,Tại sao Bảng điều khiển JS của Chrome trả về phần tử DOM thay vì đối tượng jQuery?

$("p") 

tôi nhận được kết quả như sau:

<p>...</p> 

Như chúng ta có thể thấy, chúng ta có được một phần tử DOM chứ không phải là một jQuery vật. Nhưng khi tôi không sử dụng giao diện điều khiển JS của Chrome và thay vì sử dụng mã trực tiếp trong một trang web cùng với một số console.log(), tôi nhận được một đối tượng jQuery.

[object Object]{0: HTMLParagraphElement {...}, 1: HTMLParagraphElement {...}, ... 

Từ trên, chúng tôi có thể xác định rằng khi sử dụng giao diện điều khiển JS trực tiếp, bộ chọn 'luôn' trả về phần tử DOM thay vì đối tượng jQuery. Khi tôi kiểm tra cùng một đoạn mã chọn trong giao diện điều khiển JS của trình duyệt Edge, tôi nhận được đối tượng jQuery chính xác. Sự cố với Chrome là gì?

EDIT: enter image description here

+0

Tương tự với 'jQuery (" p ")'? –

+0

Không có @ Roamer-1888. Tôi nhận được rằng 'jQuery' không được xác định. –

+0

Sau đó có vẻ như '$' không phải là 'jQuery'. –

Trả lời

4

Theo mặc định, $ trong giao diện điều khiển của Chrome là một chức năng chọn đặc biệt. Nếu bạn đang chạy chỉ $ trong giao diện điều khiển trên một trang mà chưa nạp jQuery hoặc bất cứ điều gì khác mà ghi đè lên $, bạn sẽ thấy như sau:

function $(selector, [startNode]) { [Command Line API] } 

Tuy nhiên, nếu trang đó đã bị ghi đè giá trị $ , sau đó bảng điều khiển sẽ sử dụng giá trị từ trang. Vì vậy, nếu trang đã tải jQuery, thì bạn sẽ nhận được một đối tượng jQuery.

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