this
เป็นองค์ประกอบ$(this)
คือวัตถุ jQuery ที่สร้างขึ้นด้วยองค์ประกอบนั้น
$(".class").each(function(){
//the iterations current html element
//the classic JavaScript API is exposed here (such as .innerHTML and .appendChild)
var HTMLElement = this;
//the current HTML element is passed to the jQuery constructor
//the jQuery API is exposed here (such as .html() and .append())
var jQueryObject = $(this);
});
มองลึก
this
MDNมีอยู่ในบริบทการดำเนินการ
ขอบเขตหมายถึงปัจจุบันบริบทการดำเนิน ECMA เพื่อที่จะเข้าใจthis
มันเป็นสิ่งสำคัญที่จะเข้าใจวิธีการดำเนินการตามบริบทการทำงานใน JavaScript
บริบทการดำเนินการผูกนี้
เมื่อตัวควบคุมเข้าสู่บริบทการเรียกใช้งาน (โค้ดกำลังถูกดำเนินการในขอบเขตนั้น) สภาพแวดล้อมสำหรับตัวแปรจะถูกตั้งค่า (สภาวะแวดล้อมแบบย่อและแปรปรวน) โดยพื้นฐานแล้วสิ่งนี้จะเป็นการตั้งค่าพื้นที่สำหรับตัวแปรเพื่อป้อนว่าตัวแปรใดที่สามารถเข้าถึงได้ เก็บไว้) และผูกพันของthis
เกิดขึ้น
jQuery ผูกสิ่งนี้
บริบทการดำเนินการในรูปแบบสแต็กตรรกะ ผลลัพธ์คือบริบทที่ลึกกว่าในสแต็กมีการเข้าถึงตัวแปรก่อนหน้า แต่การโยงอาจเปลี่ยนแปลง เวลา jQuery เรียกฟังก์ชันโทรกลับทุกคนก็เปลี่ยนแปลงนี้มีผลผูกพันโดยใช้MDNapply
callback.apply( obj[ i ] )//where obj[i] is the current element
ผลลัพธ์ของการโทรapply
คือภายในฟังก์ชันการเรียกกลับ jQuery this
หมายถึงองค์ประกอบปัจจุบันที่ใช้โดยฟังก์ชันการเรียกกลับ
ยกตัวอย่างเช่นในฟังก์ชั่นการโทรกลับที่ใช้กันทั่วไปช่วยให้.each
.each(function(index,element){/*scope*/})
ในขอบเขตนั้นthis == element
เป็นจริง
การเรียกกลับ jQuery ใช้ฟังก์ชั่น Apply เพื่อผูกฟังก์ชั่นที่ถูกเรียกด้วยองค์ประกอบปัจจุบัน องค์ประกอบนี้มาจากอาร์เรย์องค์ประกอบของวัตถุ jQuery แต่ละวัตถุ jQuery สร้างขึ้นมีอาร์เรย์ขององค์ประกอบที่ตรงกับตัวเลือกjQuery APIที่ใช้ในการยกตัวอย่างวัตถุ jQuery
$(selector)
เรียกฟังก์ชัน jQuery (จำได้ว่า$
มีการอ้างอิงถึงjQuery
รหัส: window.jQuery = window.$ = jQuery;
) ภายในฟังก์ชัน jQuery จะทำให้วัตถุเป็นฟังก์ชันได้ทันที ดังนั้นในขณะที่มันอาจจะไม่ชัดเจนทันทีที่ใช้ภายในการใช้งาน$()
new jQuery()
ส่วนหนึ่งของการสร้างวัตถุ jQuery นี้คือการค้นหาการแข่งขันทั้งหมดของตัวเลือก ตัวสร้างยังจะยอมรับสตริง HTML และองค์ประกอบ เมื่อคุณผ่านthis
ไปยังตัวสร้าง jQuery คุณจะผ่านองค์ประกอบปัจจุบันสำหรับวัตถุ jQuery จะถูกสร้างขึ้นด้วย จากนั้นวัตถุ jQuery จะมีโครงสร้างเหมือนอาร์เรย์ขององค์ประกอบ DOM ที่ตรงกับตัวเลือก (หรือเพียงองค์ประกอบเดียวในกรณีของthis
)
เมื่อสร้างวัตถุ jQuery แล้ว jQuery API จะถูกเปิดเผย เมื่อมีการเรียกใช้ฟังก์ชัน jQuery api ฟังก์ชันจะทำซ้ำภายในโครงสร้างแบบอาเรย์นี้ สำหรับแต่ละรายการในอาเรย์มันจะเรียกฟังก์ชั่นการโทรกลับสำหรับ API, ผูกพันการโทรกลับของthis
องค์ประกอบปัจจุบัน การเรียกนี้สามารถเห็นได้ในข้อมูลโค้ดด้านบนซึ่งobj
มีโครงสร้างคล้ายอาร์เรย์และi
เป็นตัววนซ้ำที่ใช้สำหรับตำแหน่งในอาร์เรย์ขององค์ประกอบปัจจุบัน