0Pricing
jQuery Academy · บทเรียน

การจัดการ DOM ด้วย jQuery - 2

การจัดการ DOM ด้วย jQuery - 2

การจัดการ DOM ด้วย jQuery - 2 เป็นบทเรียน jQuery Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 1 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน jQuery Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส jQuery Academy มีบทเรียนทั้งหมด 1 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

บทนำและ append

สวัสดีครับ/ค่ะ

จากตัวอย่างที่ผ่านมา เราได้ดำเนินการอัปเดตหรืออ่านออบเจ็กต์ HTML DOM 

เราจะเรียนรู้การแทรกข้อมูลด้วยเมธอด append()

มาดูตัวอย่างกันครับ/ค่ะ

<button id="add">
     Add New Item
</button>		
<div id="target"></div>

<script>
  
/*
  Listen for an element with 
  the add id click
  */
  $('#add').click(function(){

  /*
  append '<p>This is the appended 
  text</p>' to #target element
  */
  $("#target").append("<p>Appended text</p>");
})
</script>

append

หลังจากเรียกใช้โค้ดด้านบนแล้ว เมธอด append จะเพิ่มโค้ด HTML (ที่ส่งเป็นอาร์กิวเมนต์) ไว้ที่ ส่วนท้ายขององค์ประกอบ #test

prepend

เมธอด prepend()

เมธอด prepend() เป็นเมธอดที่ทำงานตรงข้ามกับ append() โดย เมธอด append() จะเพิ่มข้อมูลไว้ที่ส่วนท้ายของเนื้อหาในองค์ประกอบเป้าหมาย ขณะที่ prepend จะเพิ่มข้อมูลไว้ที่จุดเริ่มต้น

<div id="target"></div>

<button id="add">
     Add New Item
</button>		

<script>

/*
Listen for an element 
with the add id click
*/
$('#add').click(function(){

 /* append '<p>This is the prepended text</p>' 
    to #target element
*/
   $("#target").prepend("<p>This is the appended text</p>");
})

</script>

คำถาม

ด้วยเมธอด append และ prepend เราสามารถเพิ่มองค์ประกอบ HTML ใหม่ที่ส่วนท้ายและส่วนต้นขององค์ประกอบเป้าหมายได้

แล้วถ้าเราต้องการเพิ่มองค์ประกอบใหม่ให้เป็นองค์ประกอบพี่น้องขององค์ประกอบเป้าหมาย เราจะทำอย่างไร

ตัวอย่าง

มาต่อจากตัวอย่างก่อนหน้านี้กัน

โหนด HTML ของเราในกรณีแรกเป็นดังนี้

<div id="test">
     <p>initial paragraph</p>
</div>

เมธอด after - before

เมธอด after() และ before()

เราสามารถเพิ่มองค์ประกอบ HTMLก่อนและหลังองค์ประกอบเป้าหมายได้ด้วยเมธอด after() และ before()

ในโค้ดตัวอย่างด้านล่าง มีการเพิ่มองค์ประกอบใหม่ลงในองค์ประกอบที่มี id เป็น #test ทั้งก่อนหน้าและถัดจากองค์ประกอบนั้นทันทีในลำดับขององค์ประกอบพี่น้อง

<div id="test">
     <p>initial paragraph</p>
</div>

<script>
$('#test').before('<p>I am before the #test element</p>');
$('#test').after('<p>I am after the #test element</p>');
</script>

การแทรกหลายรายการ

จนถึงตอนนี้ เราได้เห็นเมธอด prepend(), append(), before() และ after() แล้ว แต่ผม/ดิฉันลืมอธิบายหัวข้อหนึ่งไป ขออภัยครับ/ค่ะ บางครั้งผม/ดิฉันก็ขี้ลืมเหมือนกัน 😇

แล้วถ้าเราต้องการเพิ่มโหนดมากกว่าหนึ่งโหนดพร้อมกัน เราควรทำอย่างไร

ดังเช่นในตัวอย่างด้านล่าง 

เราสามารถเพิ่มโหนดมากกว่าหนึ่งโหนดพร้อมกันได้ โดยส่งอาร์กิวเมนต์มากกว่าหนึ่งรายการให้กับเมธอดที่เกี่ยวข้อง

<p>
<span id="target"></span>
</p>
<script>
var firstNode = '<p id="first-node">First node</p>';
var secondNode = '<p id="first-node">Second node</p>';
var thirdNode = '<p id="first-node">Third node</p>';

/*
The following four methods work 
with the same logic and take 
more than one argument.
*/

 $('#target').before(firstNode, secondNode, thirdNode);
 $('#target').after(firstNode, secondNode, thirdNode);
 $('#target').append(firstNode, secondNode, thirdNode);
 $('#target').prepend(firstNode, secondNode, thirdNode);

</script>

ตัวอย่างการเชื่อมเมธอด

ในตัวอย่างด้านบน มีการเพิ่มโหนดมากกว่าหนึ่งโหนดพร้อมกัน อย่างที่เห็น ไวยากรณ์จะเหมือนเดิม แม้ว่าโหนดเหล่านั้นจะอยู่ในเมธอดที่แตกต่างกัน

นอกจากนี้ เรายังสามารถเขียนโค้ดใน jQuery โดยปรับเปลี่ยนได้ 

ด้วยวิธีนี้ เราจะเขียนโค้ดได้สั้นลงและมีประสิทธิภาพมากขึ้น

มาดูตัวอย่างและเรียนรู้วิธีเขียนโค้ดแบบเชื่อมต่อใน jQuery กันครับ/ค่ะ

<p id="test"></p>

<script>
var firstNode = '<p id="first-node">First node</p>';
var secondNode = '<p id="first-node">Second node</p>';
var thirdNode = '<p id="first-node">Third node</p>';

/*
We made our code shorter.
Also, we have done the select operation 
on the DOM only once instead of twice.
*/
$('#test').before(firstNode, secondNode, thirdNode)
	    .after(firstNode, secondNode, thirdNode);

</script>

เมธอด wrap

เมธอด wrap()

หากต้องการนำองค์ประกอบ HTML ไปไว้ในคอนเทนเนอร์อื่น เราจะใช้เมธอดใด

แน่นอนว่าใช้เมธอด wrap()

ตัวอย่างต่อไปนี้แสดงการใช้เมธอด wrap แบบง่าย ๆ

<div id="target"></div>

<script>
/*
When we apply the code below. 
The node we assigned as an argument 
will come around our target element.
*/
$("#target").wrap('<div class="container">Container wrapped the target element</div>');

//The result will be as follows
/*
<div class="container">
  Container wrapper the target element
  <div id="target">
  </div>
</div>
*/
</script>

Question

เมธอด unwrap

เมธอด unwrap()

เรามีเมธอดที่ทำงานตรงข้ามกับเมธอด wrap() ด้วยเมธอด unwrap() เราสามารถลบองค์ประกอบแม่ขององค์ประกอบเป้าหมายได้

const $ = (selector) => ({
    unwrap: () => console.log(`Unwrapped ${selector}`)
});
$("#target").unwrap();

เมธอด empty

เมธอด empty()

มาดูการลบองค์ประกอบ HTML กัน

ด้วยเมธอด empty() เราสามารถลบองค์ประกอบลูกและองค์ประกอบที่สืบทอดทั้งหมดขององค์ประกอบเป้าหมายได้

// Removes all descendants of the element from the DOM.
// (Simulated for Node.js environment)
const $ = (selector) => ({
  empty: () => console.log(`Removed all descendants of ${selector}`)
});
$("#target").empty();

เมธอด remove()

เมธอด remove()

เมธอด remove() จะลบทั้งองค์ประกอบเป้าหมายและองค์ประกอบที่สืบทอดของมันออกจาก DOM

/*
Removes the element and 
all descendants of the element from the DOM.
*/
$('#target').remove();

ขอแสดงความยินดี

ขอแสดงความยินดี 🎉

เราได้เรียนรู้การจัดการ DOM แล้ว

ในส่วนถัดไป เราจะเรียนรู้การจัดรูปแบบด้วย JQuery

การจัดการ DOM ด้วย jQuery - 2 — ภาพประกอบ 14

คำถามที่พบบ่อย

บทเรียน “การจัดการ DOM ด้วย jQuery - 2” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การจัดการ DOM ด้วย jQuery - 2” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส jQuery Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส jQuery Academy มีบทเรียนทั้งหมด 1 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การจัดการ DOM ด้วย jQuery - 2”

การจัดการ DOM ด้วย jQuery - 2 คุณปฏิบัติ jQuery Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน jQuery Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน jQuery Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 1 บทเรียน

บทเรียน “การจัดการ DOM ด้วย jQuery - 2” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน jQuery Academy นี้ได้ไหม

ได้ บทเรียน jQuery Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

← กลับไปที่ jQuery Academy