jQuery each()
เป็นวิธีที่กระชับในการวนซ้ำองค์ประกอบ DOM each()
เมธอดได้รับการออกแบบให้เรียกใช้บนวัตถุ jQuery เป้าหมาย ออบเจ็กต์ jQuery เป็นอ็อบเจ็กต์ที่มีองค์ประกอบ DOM ตั้งแต่หนึ่งรายการขึ้นไป และมีสิทธิ์เข้าถึงเมธอด jQuery ไม่ใช่แค่ each()
มีแนวโน้มที่จะเกิดข้อผิดพลาดน้อยลง ทำให้การจัดการองค์ประกอบ DOM หลายรายการง่ายขึ้น
jQuery each()
ต้องใช้ฟังก์ชันเรียกกลับ ซึ่งเป็นฟังก์ชันที่ส่งผ่านไปยังฟังก์ชันอื่นที่จะดำเนินการในภายหลัง ภายในฟังก์ชันเรียกกลับคือการเข้าถึงหมายเลขดัชนีขององค์ประกอบและองค์ประกอบเอง สามารถดูการตรวจสอบฟังก์ชันการโทรกลับที่ครอบคลุมมากขึ้นได้ที่นี่
การประยุกต์ใช้ each()
ตรงไปตรงมาเหมือนกับลูป JavaScript แต่มีบางจุดที่อาจเกิดความสับสนได้ เราจะเคลียร์ประเด็นเหล่านี้รวมถึงการดูไวยากรณ์ ที่ส่วนท้ายของคู่มือนี้จะมีตัวอย่างโค้ดทีละขั้นตอนเพื่อดูวิธีต่างๆ ในการใช้ jQuery each()
.
jQuery each() คืออะไร
jQuery แต่ละวิธีเป็นวิธีการวนซ้ำสำหรับไลบรารี jQuery มันทำงานเหมือน JavaScript วนซ้ำโดยวนซ้ำองค์ประกอบ DOM jQuery each()
ต้องมีฟังก์ชันเรียกกลับ และภายในฟังก์ชันเรียกกลับเป็นที่ที่องค์ประกอบ DOM สามารถจัดการได้
ในขณะที่อยู่ภายในเนื้อหาของฟังก์ชันเรียกกลับ คำสั่งเงื่อนไขสามารถใช้เพื่อเปลี่ยนองค์ประกอบที่เลือกบางส่วนได้ คำสั่งแบบมีเงื่อนไขคือ if...then คำสั่งใน JavaScript ซึ่งจะให้ระดับการควบคุมที่ลึกซึ้งยิ่งขึ้นว่าองค์ประกอบต่างๆ จะเปลี่ยนแปลงไปอย่างไร
jQuery แต่ละ () ไวยากรณ์
jQuery แต่ละอันสามารถเรียกใช้ได้สองวิธี ขั้นแรกเป็นวิธีการที่เรียกว่าองค์ประกอบที่เลือก ฟังก์ชันเรียกกลับยอมรับอาร์กิวเมนต์ที่เป็นทางเลือกสูงสุดสองอาร์กิวเมนต์:ดัชนีและค่า ดัชนีคือหมายเลขดัชนีขององค์ประกอบปัจจุบัน หากองค์ประกอบปัจจุบันเป็นองค์ประกอบแรกในรายการ หมายเลขดัชนีจะส่งกลับ 0
อาร์กิวเมนต์ค่าหมายถึงองค์ประกอบปัจจุบัน สิ่งสำคัญคือต้องสังเกตว่าการโยงเมธอดกับค่านั้นจำเป็นต้องมีการตัดค่าในตัวเลือก jQuery มาใส่ทั้งหมดนี้ลงในโค้ดนามธรรมเพื่อให้เราสามารถแยกย่อยไวยากรณ์ได้
$('div').each((index, value) => { console.log(`${index}: ${$(value).text()}`) })
ที่นี่ เรากำลังเลือก
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
จำไว้ว่า [วัตถุวัตถุ] เป็นการแสดงสตริงของวัตถุ ซึ่งหมายความว่าเราต้องเรียกวิธีการเพื่อดึงค่าที่เราต้องการ ในกรณีข้างต้น เรากำลังใช้ text()
วิธีการเปิดเผยแอตทริบิวต์ข้อความของวัตถุ อ่านเพิ่มเติมเกี่ยวกับ [วัตถุวัตถุ] เพื่อรับรู้ว่ากำลังส่งคืนอะไร
ตัวอย่างข้างต้นจะบันทึกหมายเลขดัชนีตามด้วยแอตทริบิวต์ข้อความสำหรับแต่ละ
$('div').each(function() { alert($(this).text()) })
การเขียนแบบนี้จะเป็นการบันทึกข้อความขององค์ประกอบ
แม้ว่าฟังก์ชันลูกศรจะเป็นทางเลือกที่กะทัดรัดสำหรับการเขียนฟังก์ชัน แต่ก็ไม่ได้ผูกมัดกับคีย์เวิร์ด this กล่าวอีกนัยหนึ่ง วัตถุที่ส่งคืนโดยใช้สิ่งนี้ในฟังก์ชันลูกศรไม่ใช่สิ่งที่ส่งคืนโดยสิ่งนี้เมื่อเขียนด้วยสัญกรณ์ฟังก์ชัน
คู่มือนี้ครอบคลุมฟังก์ชันลูกศรเข้าและออก
jQuery แต่ละ () ตัวอย่าง
มาขยายตัวอย่างไวยากรณ์ด้านบนและเพิ่มแอตทริบิวต์บางอย่าง เราเริ่มต้นด้วยการแสดง HTML พื้นฐานของรายการสีที่เป็นของคลาสต่างๆ
<div class="colorSelect">Red</div> <div>Pink</div> <div class="color">Orange</div> <div class="colorSelect">Purple</div> <div class="colorSelect">Blue</div>
สิ่งนี้แสดงองค์ประกอบข้อความแต่ละรายการใน DOM ขั้นแรก เริ่มต้นด้วยการบันทึกข้อความในคอนโซลโดยใช้ทั้งฟังก์ชันลูกศรและฟังก์ชันดั้งเดิม
$('.colorSelect').each((index, value) => { console.log($(value).text()) })
โดยการเลือกเฉพาะ
text()
กระบวนการ. การทำเช่นนี้จะคืนค่าเฉพาะข้อความขององค์ประกอบ
ให้ผลลัพธ์เหมือนเดิม แต่โดยใช้คำหลัก สิ่งนี้
$('.colorSelect').each(function() { console.log($(this).text()) })
เราสามารถใช้ฟังก์ชันที่ไม่ระบุชื่อ ซึ่งเป็นฟังก์ชันที่ไม่มีชื่อ เป็นฟังก์ชันเรียกกลับ อีกครั้ง จะส่งกลับข้อความสีแดง สีม่วง และสีน้ำเงิน เป็นมูลค่าการกล่าวขวัญว่าแม้ว่าฟังก์ชันลูกศรจะมีฟังก์ชันบางอย่างใน jQuery แต่แนวทางปฏิบัติที่ดีที่สุดคือการใช้รูปแบบการทำงานแบบเดิมสำหรับการเรียกกลับของ jQuery
ตอนนี้เรารู้วิธีทำซ้ำชุดขององค์ประกอบแล้ว ตอนนี้ มาสนุกและเปลี่ยนสีกันเถอะ!
<div class="colorSelect">Red</div> <div>Pink</div> <div class="color">Orange</div> <div class="colorSelect">Purple</div> <div class="colorSelect">Blue</div> <div class='result'> </div> <style> .colorSelect { color: blue; } .green { color: green; } </style>
เพื่อให้สอดคล้องกับหน้ารายการสี ตอนนี้เราได้เพิ่มบางคลาสให้กับองค์ประกอบ