Ý nghĩa của ký hiệu $ trong jQuery là gì?


123

$đăng nhập jQuery đứng cho?


bạn có thể làm cho tiêu đề trở nên mô tả hơn một chút, thay vì chỉ trông giống như một vài thẻ danh mục
Michael Paulukonis

20
đó là một câu hỏi hay cho những người thích đùa giỡn như tôi. Tôi đã ghép lại một số trang jquery bằng cách cắt và dán từ internet, và đó là câu hỏi đầu tiên tôi có về những gì tôi đang làm.
Đánh dấu Harrison

Câu trả lời:


138

Đối tượng jQuery :)

Từ tài liệu jQuery:

Theo mặc định, jQuery sử dụng "$" làm lối tắt cho "jQuery"

Vì vậy, sử dụng $("#id") hoặc jQuery("#id")là như nhau.


Xin chào, @Andrea tôi không biết liệu tôi có hỏi đúng câu hỏi hay không, tôi mới biết về jQuery. Chúng ta có thể thay thế $ đó bằng bất kỳ biểu tượng nào khác không? và nếu có thể, làm thế nào?
Hulk

@Hulk bạn có thể sử dụng noConflit()để thay thế nó.
siêu mát mẻ

44

Lạ nhưng đúng, bạn có thể sử dụng "$" làm tên hàm trong JavaScript. Nó là viết tắt cho jQuery (). Mà bạn có thể sử dụng nếu bạn muốn. jQuery có thể được chạy trong chế độ tương thích nếu một thư viện khác đang sử dụng $. Chỉ cần sử dụng jQuery.noConflict (). $ được sử dụng khá phổ biến như là một hàm chọn trong JS.

Trong jQuery, hàm $ thực hiện nhiều hơn việc chọn các thứ.

  1. Bạn có thể vượt qua nó một bộ chọn để có được một tập hợp các phần tử phù hợp từ DOM.
  2. Bạn có thể truyền cho nó một hàm để chạy khi tài liệu đã sẵn sàng (tương tự như body.onload () nhưng tốt hơn).
  3. Bạn có thể truyền cho nó một chuỗi HTML để biến thành một phần tử DOM mà sau đó bạn có thể đưa vào tài liệu.
  4. Bạn có thể truyền cho nó một phần tử DOM hoặc các phần tử mà bạn muốn bọc với đối tượng jQuery.

Đây là tài liệu: https://api.jquery.com/jQuery/


7
Bạn biết đấy, điều này THỰC SỰ nên là câu trả lời đúng cho câu hỏi này ... Tôi không thể tin tất cả những câu trả lời đùa đó có tất cả các phiếu bầu.
reedvoid

1
Đồng ý với ý kiến ​​của reedvoid. Nó là một sự phản ánh về tình trạng của các vấn đề trong lập trình Javascript. Điều đó nói rằng, liên kết chính xác hơn bây giờ trả lời câu hỏi là api.jquery.com/jQuery
Sunny

Nếu $ là một hàm, thì chúng ta gọi phương thức noConflict () trên nó như thế nào? Điều đó sẽ có thể xảy ra nếu $ là một đối tượng, không phải chức năng.
maverick

1
@ dk49 Trong JavaScript, các hàm cũng có thể có các thuộc tính. Hãy thử điều này: hàm Person () {}; Person.city = 'Missoula'; console.log (Person.city)
Lance Fisher

Để biết thêm bằng chứng, hãy thử typeof $"Chức năng". ;)
Lance Fisher

34

Đó là cú pháp đường . Nó không chỉ dành riêng cho jQuery; các thư viện khác cũng sử dụng nó. Bạn có thể tìm một bài viết chi tiết đầy đủ về việc sử dụng ký hiệu đô la trong JavaScript tại đây .


5
Vâng, tôi thích thuật ngữ cú pháp đường . Cảm ơn vì điều đó :)
Ravi Dhoriya 21/07/14

4
Làm thế nào đây là một câu trả lời? Từ đó tôi đã học được rằng dấu '$' trong jQuery là viết tắt của "cú pháp đường". Và bài báo được liên kết nói rất dài về các cung và lý do, mà không trả lời chính xác. Câu trả lời tiếp theo của @andrea thực hiện công việc trong ba từ.
lorenzog 6/11/2015

Tôi nghĩ OP muốn biết tại sao biểu tượng $ được chọn để đại diện cho thư viện, không phải trên ý nghĩa thực sự, điều này rõ ràng và được ghi lại
Elzo Valugi

liên kết đó không hoạt động nữa, liên kết mà bạn nói giải thích chi tiết $
user734028

@ user734028 Tôi đã thay đổi liên kết thành một bộ nhớ cache, vui lòng kiểm tra ngay bây giờ
Elzo Valugi

30

Như đã nói trong các câu trả lời khác $ là một lối tắt đến hàm jQuery.

Một số thư viện JavaScript cũng sử dụng $ too (ví dụ: nguyên mẫu). Để tránh xung đột với các thư viện khác, jQuery cung cấp hàm jQuery.noConflict (). Gọi hàm này là điều khiển biến $ quay trở lại thư viện khác lần đầu tiên thực hiện nó. Làm điều này để sử dụng jQuery, bạn không thể thực hiện điều này $ ('div.someClass') nữa, thay vào đó là jQuery ('div.someClass').

Hoặc có thể làm điều này:

jQuery.noConflict();

jQuery.ready(function($) {
   // use $ for jQuery
}

//use $ for the other library

Khi viết các plugin để tránh các vấn đề với việc sử dụng noConflict, bạn có thể truyền 'jQuery' cho một hàm:

function($) {

//use $ writing your plugin

}(jQuery)

9

$ chỉ đơn giản là một hàm gọi là jQuery. Đó là cách bạn truy cập tất cả các chức năng trong lib lib của jQuery.

Bạn có thể tìm thấy nó ở đây: http://docs.jquery.com/%24


7

Nó là viết tắt của jQuery. Đối tượng nơi tất cả các chức năng jQuery sống.


5

$ Là cú pháp đường như @Elzo đã đề cập. Không ai thực sự trả lời câu hỏi của bạn mặc dù. $ Là viết tắt trong jQuery cho window.jQuery, vì vậy bạn không phải gõ nó mỗi lần.


4

$ chỉ là một biến khác. Trong trường hợp của jQuery, tham chiếu hàm jQuery này.




1

Nhìn vào tệp thư viện jQuery.

// Đưa ra định danh jQuery và $.

if ( typeof noGlobal === strundefined ) {
    window.jQuery = window.$ = jQuery;
}

Toàn cầu $ điểm đến jQuery.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.