ความหมายของสัญลักษณ์ $ ใน jQuery คืออะไร?


123

สิ่งที่ไม่$ลงชื่อเข้าใช้ jQuery ยืน?


คุณสามารถทำให้ชื่อบิตวีอธิบายเพิ่มเติมแทนเพียงแค่มองเช่นคู่ของหมวดหมู่แท็ก
ไมเคิล Paulukonis

20
เป็นคำถามที่ดีสำหรับ jquery noobs เช่นตัวฉันเอง ฉันปูหน้า jquery เข้าด้วยกันโดยการตัดและวางจากอินเทอร์เน็ตและนี่เป็นคำถามแรกที่ฉันมีเกี่ยวกับสิ่งที่ฉันกำลังทำ
Mark Harrison

คำตอบ:


138

วัตถุ jQuery :)

จากเอกสาร jQuery:

โดยค่าเริ่มต้น jQuery จะใช้ "$" เป็นทางลัดสำหรับ "jQuery"

ดังนั้นโดยใช้$("#id") หรือjQuery("#id")เหมือนกัน


สวัสดี @Andrea ฉันไม่รู้ว่าฉันกำลังถามคำถามที่ถูกต้องหรือไม่ฉันยังใหม่กับ jQuery เราสามารถแทนที่ $ นั้นด้วยสัญลักษณ์อื่นได้หรือไม่? และถ้าเป็นไปได้อย่างไร?
Hulk

@Hulk ใช้noConflit()แทนได้ครับ
เด็ดสุด ๆ

44

แปลก แต่จริงคุณใช้ "$" เป็นชื่อฟังก์ชันใน JavaScript ได้ เป็นชวเลขสำหรับ jQuery () ซึ่งคุณสามารถใช้ได้หากต้องการ jQuery สามารถรันในโหมดความเข้ากันได้หากไลบรารีอื่นใช้ $ อยู่แล้ว เพียงใช้ jQuery.noConflict () $ มักใช้เป็นฟังก์ชันตัวเลือกใน JS

ใน jQuery ฟังก์ชัน $ ทำมากกว่าการเลือกสิ่งต่างๆ

  1. คุณสามารถส่งตัวเลือกเพื่อรับคอลเล็กชันองค์ประกอบที่ตรงกันจาก DOM
  2. คุณสามารถส่งผ่านฟังก์ชันเพื่อเรียกใช้เมื่อเอกสารพร้อม (คล้ายกับ body.onload () แต่ดีกว่า)
  3. คุณสามารถส่งสตริง HTML เพื่อเปลี่ยนเป็นองค์ประกอบ DOM ซึ่งคุณสามารถฉีดเข้าไปในเอกสารได้
  4. คุณสามารถส่งผ่านองค์ประกอบ DOM หรือองค์ประกอบที่คุณต้องการรวมกับวัตถุ jQuery

นี่คือเอกสาร: https://api.jquery.com/jQuery/


7
คุณก็รู้ว่านี่น่าจะเป็นคำตอบที่ถูกต้องสำหรับคำถามนี้ ... ฉันไม่อยากจะเชื่อเลยว่าคำตอบตลก ๆ เหล่านั้นจะได้รับคะแนนโหวตทั้งหมด
reedvoid

1
เห็นด้วยกับความคิดเห็นของ reedvoid เป็นการสะท้อนสถานะของสถานการณ์ในการเขียนโปรแกรม Javascript ที่กล่าวว่าลิงก์ที่แม่นยำยิ่งขึ้นในตอนนี้ที่ตอบคำถามคือapi.jquery.com/jQuery
ซันนี่

ถ้า $ เป็นฟังก์ชันเราจะเรียก method noConflict () บนมันได้อย่างไร? นั่นจะเป็นไปได้ถ้า $ เป็นวัตถุไม่ใช่ฟังก์ชัน
maverick

1
@ dk49 ใน JavaScript ฟังก์ชันสามารถมีคุณสมบัติได้เช่นกัน ลองสิ่งนี้: function Person () {}; Person.city = 'มิสซูลา'; console.log (Person.city)
Lance Fisher

สำหรับหลักฐานเพิ่มเติมให้ลองtypeof $ซึ่งจะลบ "ฟังก์ชัน" ;)
Lance Fisher

34

มันเป็นน้ำตาลประโยค ไม่ได้เจาะจงเฉพาะ jQuery เท่านั้น ห้องสมุดอื่น ๆ ก็ใช้เช่นกัน คุณสามารถดูบทความเต็มรูปแบบรายละเอียดเกี่ยวกับการใช้เครื่องหมายดอลลาร์ในจาวาสคริปต์ที่นี่


5
ดีฉันชอบคำน้ำตาลประโยค ขอบคุณที่ :)
Ravi Dhoriya ツ

4
นี่คือคำตอบอย่างไร? จากสิ่งนี้ฉันได้เรียนรู้ว่าเครื่องหมาย '$' ใน jQuery ย่อมาจาก "syntactic sugar" และบทความที่เชื่อมโยงจะพูดถึงวิธีการและเหตุผลโดยไม่ตอบสั้น ๆ คำตอบต่อไปโดย @andrea ทำงานในสามคำ
lorenzog

ฉันคิดว่า OP ต้องการทราบว่าเหตุใดสัญลักษณ์ $ จึงถูกเลือกให้เป็นตัวแทนของห้องสมุดไม่ใช่ความหมายจริงๆซึ่งชัดเจนและเป็นเอกสาร
Elzo Valugi

ลิงค์นั้นใช้ไม่ได้อีกต่อไปอันที่คุณบอกอธิบายโดยละเอียด $
user734028

@ user734028 ฉันเปลี่ยนลิงค์เป็นแคชแล้วโปรดตรวจสอบตอนนี้
Elzo Valugi

30

ดังที่กล่าวไว้ในคำตอบอื่น ๆ $ เป็นทางลัดไปยังฟังก์ชัน jQuery

ไลบรารี JavaScript บางไลบรารีใช้ $ ด้วย (ตัวอย่าง: ต้นแบบ) เพื่อหลีกเลี่ยงความขัดแย้งกับไลบรารีอื่น ๆ jQuery มีฟังก์ชัน jQuery.noConflict () การเรียกใช้ฟังก์ชันนี้ว่าการควบคุมตัวแปร $ จะกลับไปที่ไลบรารีอื่นที่ใช้งานครั้งแรก การทำเช่นนี้เพื่อใช้ jQuery คุณจะไม่สามารถทำ $ ('div.someClass') นี้ได้อีกต่อไปแทน jQuery ('div.someClass')

หรือสามารถทำได้:

jQuery.noConflict();

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

//use $ for the other library

เมื่อเขียนปลั๊กอินเพื่อหลีกเลี่ยงปัญหาการใช้งาน noConflict คุณสามารถส่ง 'jQuery' ไปยังฟังก์ชัน:

function($) {

//use $ writing your plugin

}(jQuery)

9

$ เป็นเพียงฟังก์ชันที่เรียกว่า jQuery เป็นวิธีที่คุณเข้าถึงฟังก์ชันทั้งหมดใน jQuery lib

คุณสามารถค้นหาได้ที่นี่: http://docs.jquery.com/%24



5

$ คือน้ำตาลวากยสัมพันธ์เหมือนที่ @Elzo กล่าวถึง ไม่มีใครตอบคำถามของคุณได้จริง $ เป็นชวเลขใน jQuery สำหรับwindow.jQueryดังนั้นคุณไม่จำเป็นต้องพิมพ์ทุกครั้ง





โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.