2012-06-28 28 views
5

Tôi không thể cho cuộc sống của tôi làm việc này ra. Tôi có js chạy và 'trạng thái container ..' là một nhật ký giao diện điều khiển từ các js đang chạy trên trang. Nó hiển thị một bộ chọn, nhưng nếu tôi muốn làm bất cứ điều gì trong giao diện điều khiển nó chỉ trả về null. Tôi giả định bằng cách nào đó tôi đang trên văn bản jQuery chức năng ở đâu đó, như thể tôi gọi jQueryBộ chọn jQuery không hoạt động trong bảng điều khiển

>>> $ 
function() 

Đây là cách tôi đang kêu gọi một selector

Container state 3 jQuery(div.module-carousel) 
>>> $('body') 
null 
+0

Bạn có chắc chắn jQuery đã được tải không? Bạn đang gọi 'jQuery.noConflict()' ở đâu? –

+2

Thử 'jQuery ('body')' và xem điều đó có tạo nên sự khác biệt hay không. –

+0

arghh suger: p nên ai đó đã thay đổi tham chiếu thành jquery! yawn –

Trả lời

6

jQuery sử dụng 2 không gian tên, jQuery$. Một thư viện khác có thể đã sử dụng số $. Hãy thử sử dụng jQuery thay vì $ (giả định rằng nó không được ghi đè cũng):

jQuery('body'); 

hoặc quấn jQuery trong một chức năng ngay lập tức và sử dụng $ trong nó, do đó bạn không cần phải thay thế $ trong mã hiện tại :

(function($){ 
    //"$" in here is jQuery 
    //code that uses $ as jQuery will work in here 
}(jQuery)); //pass in jQuery and execute 
1

Cả hai trình duyệt Firefox và Chrome xác định $ như một cách viết tắt cho document.getElementById trong bảng điều khiển. Thuật toán này sẽ tự động bị ghi đè khi trang xác định $.

Vì vậy, hãy tải jQuery (through a bookmarklet ví dụ) và bạn có thể sử dụng bộ chọn jQuery.

Nếu bạn không cần bộ chọn jQuery cụ thể, bạn cũng có thể sử dụng $$, viết tắt là document.querySelectorAll, hỗ trợ bộ chọn CSS (3).

2

Nếu bạn $ bị quá tải (nhưng không jQuery), và bạn muốn làm việc trong giao diện điều khiển của bạn, chỉ cần làm như sau:

$ = jQuery; 

Đơn giản như vậy.

Để có giải pháp hoàn chỉnh hơn (phát triển thực tế, không chỉ bàn điều khiển), hãy sử dụng giải pháp @Joseph the Dreamer.

+0

nếu một trang có jQuery đã có một tên biến khác nhau .. nói 'jqry'. Làm thế nào tôi có thể tìm thấy tên này 'jqry' var trong giao diện điều khiển .. mà không đi qua nguồn html. ví dụ. tôi muốn gõ 'jQuery (cho tôi thấy tên var)' nên in ra 'jqry' trong giao diện điều khiển chrome. bất kỳ ý tưởng? – ihightower

4

bạn có thể sử dụng điều này trước khi viết bất kỳ lệnh nào trên bảng điều khiển.

$ = jQuery.noConflict(); 
Các vấn đề liên quan