JQuery'deki $ sembolünün anlamı nedir?


123

$JQuery'deki işaret ne anlama geliyor ?


birkaç kategori etiketi gibi görünmek yerine başlığı biraz daha açıklayıcı bir hale getirebilirsiniz
Michael Paulukonis

20
benim gibi jquery noob'lar için güzel bir soru. İnternetten kesip yapıştırarak bazı jquery sayfalarını bir araya getirdim ve ne yaptığımla ilgili ilk sorduğum soru buydu.
Mark Harrison

Yanıtlar:


138

JQuery nesnesi :)

JQuery belgelerinden:

Varsayılan olarak jQuery, "jQuery" için kısayol olarak "$" kullanır

Yani, kullanarak $("#id") veya jQuery("#id")aynıdır.


Merhaba, @Andrea doğru soru sorup sormadığımı bilmiyorum, jQuery'de yeniyim. Bu $ 'ı başka bir sembolle değiştirebilir miyiz? ve mümkünse nasıl?
Hulk

@Hulk, noConflit()onu değiştirmek için kullanabilirsiniz .
süper serin

44

Garip ama doğru, JavaScript'te bir işlev adı olarak "$" kullanabilirsiniz. JQuery () için kısaltmadır. İstersen kullanabilirsin. jQuery, başka bir kitaplık zaten $ kullanıyorsa uyumluluk modunda çalıştırılabilir. Sadece jQuery.noConflict () kullanın. $, JS'de oldukça yaygın olarak bir seçici işlev olarak kullanılır.

JQuery'de $ fonksiyonu seçmekten çok daha fazlasını yapar.

  1. DOM'dan eşleşen öğelerden oluşan bir koleksiyon almak için bir seçici olarak iletebilirsiniz.
  2. Belge hazır olduğunda çalıştırılacak bir işlev geçirebilirsiniz (body.onload () 'a benzer, ancak daha iyi).
  3. Daha sonra belgeye enjekte edebileceğiniz bir DOM öğesine dönüştürmek için ona bir HTML dizesi iletebilirsiniz.
  4. JQuery nesnesiyle sarmalamak istediğiniz bir DOM öğesini veya öğeleri iletebilirsiniz.

İşte belgeler: https://api.jquery.com/jQuery/


7
Biliyorsunuz, bu GERÇEKTEN bu soru için doğru cevap olmalı ... Tüm bu şaka cevaplarının tüm olumlu oyları aldığına inanamıyorum.
reedvoid

1
Reedvoid'in yorumlarına katılıyorum. Javascript programlamasının durumunun bir yansımasıdır. Bununla birlikte, soruyu yanıtlayan daha kesin bağlantı api.jquery.com/jQuery
Sunny

$ Bir işlevse, o zaman onun üzerinde noConflict () yöntemini nasıl çağırıyoruz? $ Bir işlev değil, bir nesne olsaydı bu mümkün olurdu.
maverick

1
@ dk49 JavaScript'te işlevler de özelliklere sahip olabilir. Şunu deneyin: function Person () {}; Person.city = 'Missoula'; console.log (Person.city)
Lance Fisher

Daha fazla kanıt için typeof $hangisinin "İşlev" i çıkaracağını deneyin . ;)
Lance Fisher

34

Öyle sözdizimsel şeker . Yalnızca jQuery'ye özgü değildir; diğer kütüphaneler de kullanıyor. Sen JavaScript dolar işareti kullanımı hakkında tam detayları makale için bakabilirsiniz burada .


5
Sözdizimsel şeker terimini beğendim . Teşekkürler :)
Ravi Dhoriya ツ

4
Bu nasıl bir cevap? Buradan jQuery'deki '$' işaretinin "sözdizimsel şeker" anlamına geldiğini öğrendim. Ve bağlantılı makale, kısaca cevap vermeden nasıl ve neden hakkında uzun uzadıya konuşuyor. @Andrea'nın bir sonraki cevabı işi üç kelimeyle yapıyor.
lorenzog

Bence OP, neden bu $ sembolünün kütüphaneyi temsil etmek için seçildiğini bilmek istedi, gerçekte ne anlama geldiği değil, bu biraz açık ve belgelenmiştir
Elzo Valugi

bu bağlantı artık çalışmıyor, söylediğin bağlantı ayrıntılı olarak açıklıyor $
user734028

@ user734028 Bağlantıyı önbelleğe alınmış bir bağlantıyla değiştirdim, lütfen şimdi kontrol edin
Elzo Valugi

30

Diğer yanıtlarda da söylendiği gibi $ jQuery işlevi için bir kısayoldur.

Bazı JavaScript kitaplıkları da $ kullanır (örnek: prototip). Bu diğer kitaplıklarla çakışmayı önlemek için jQuery, jQuery.noConflict () işlevini sağlar. Bu işlevi çağırmak, $ değişkeninin denetimi onu ilk uygulayan diğer kitaplığa geri döner. Bunu jQuery kullanmak için yapmak artık jQuery ('div.someClass') yerine bunu $ ('div.someClass') yapamazsınız.

Alternatif olarak bunu yapabilirsiniz:

jQuery.noConflict();

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

//use $ for the other library

NoConflict kullanımıyla ilgili sorunları önlemek için eklentiler yazarken, 'jQuery'yi bir işleve aktarabilirsiniz:

function($) {

//use $ writing your plugin

}(jQuery)


7

JQuery'nin kısaltmasıdır. Tüm jQuery işlevselliğinin yaşadığı nesne.


5

$, @Elzo'nun bahsettiği gibi sözdizimsel şekerdir. Aslında kimse sorunuzu cevaplamadı. $ JQuery'nin kısaltmasıdır window.jQuery, bu nedenle her seferinde yazmak zorunda kalmazsınız.


4

$ sadece başka bir değişkendir. JQuery durumunda bu, jQuery işlevine başvurur.




1

JQuery kitaplık dosyasına bakın.

// jQuery ve $ tanımlayıcılarını açığa çıkarın.

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

Global $ jQuery'yi işaret ediyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.