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

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

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

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

บทนำเกี่ยวกับเมธอด

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

จนถึงตอนนี้ เราได้เห็นแล้วว่า JQuery ใช้ทำอะไรและใช้ตัวเลือกอย่างไร

ตอนนี้มาดูเมธอดที่ช่วยให้เราจัดการ DOM กัน

เมธอด text

เมธอด text()

เราใช้เมธอด text() เพื่อเข้าถึงเนื้อหาขององค์ประกอบ HTML

ใช้ $ (selector).text() เพื่ออ่านเนื้อหาขององค์ประกอบ

นอกจากนี้ เรายังใช้เมธอด text เพื่ออัปเดตเนื้อหาขององค์ประกอบได้ด้วย เพียงส่งเนื้อหาใหม่ให้เมธอด text เป็นอาร์กิวเมนต์

<h1 id="hello">Hello Coddy</h1>		
<h2 id="target"></h2>

<script>
$(document).ready(function(){

/*
With the $ ('# hello') statement, 
we selected the element with hello id 
and set the element's content related
to the text method of this object to 
the variable named result.
*/
var result =  $('#hello').text();

/* 
We find the element with the 
target id in the DOM and assign the value 
of the result variable to the 
text method of this object. 
*/

$('#target').text(result);

/*
As a result, we have assigned 
the value of the h1 element 
to the h2 element.
*/
});
</script>

คำถาม

เมธอด html

เมธอด html()

เมธอดถัดไปของเราคือ html() 

จากชื่อของมัน เราเข้าใจได้ว่าเมธอดนี้ส่งคืนองค์ประกอบทั้งหมด แทนที่จะส่งคืนเฉพาะเนื้อหาขององค์ประกอบที่เราเลือก

มาสร้างองค์ประกอบ HTML ตัวอย่างด้านล่างกัน

มีการกำหนดองค์ประกอบ HTML สองรายการที่มี id เป็น base และ target จากนั้น ทันทีที่ DOM โหลดเสร็จ 

เนื้อหา HTML ทั้งหมดขององค์ประกอบ base จะถูกคัดลอกและเพิ่มลงในองค์ประกอบที่มี id เป็น target

<div id="base">
    <p>Hello Coddy</p>
    <p>I'm p element</p>
  </div>		

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

<script>

/* 
Callback will run as son as 
the DOM is loaded
*/
$(document).ready(function(){
     //copy the base element HTML
     var baseHTML =  $('#base').html();
     /* update target element 
     by using baseHTML value
     */
     $('#target').html(baseHTML);
})
</script>

ตัวเลือกแอตทริบิวต์

เมธอด attr()

เราใช้แอตทริบิวต์เพื่อกำหนดพฤติกรรมเพิ่มเติมให้กับองค์ประกอบ HTML

บ่อยครั้งขณะเขียนโค้ด Javascript เราอาจต้องการเข้าถึงค่าของแอตทริบิวต์เหล่านี้

ในกรณีเหล่านี้ เราจะใช้เมธอด attr

มาเรียนรู้เมธอดนี้ด้วยการทำตัวอย่างด้านล่างกัน

<a  href="https://www.coddykit.com"  
       target="_blank"
       title="CoddyKit Web App" class="base">
     Go CoddyKit
</a>		
<br/>
<span id="link-title"></span>

<script>

/*
Callback will run as son 
as the DOM is loaded
*/
$(document).ready(function(){

     //Read link's title attribute
     var linkTitle =  $('a').attr('title');

     /* update target element content 
         by using linkTitle value
     */
     $('#link-title').text(linkTitle);
})
</script>

แอตทริบิวต์

กระบวนการกำหนดแอตทริบิวต์ใหม่คล้ายกับเมธอด text() และ html() ที่เราเรียนรู้ก่อนหน้านี้

ด้วยการส่งอาร์กิวเมนต์ให้เมธอด attr() ที่เราใช้สำหรับการอ่าน เราสามารถกำหนดแอตทริบิวต์ใหม่ให้กับองค์ประกอบเป้าหมายได้

/* 
The target attribute of the element with 
my-link id has been passed the _blank value.
*/
// Mock for Judge0 Node environment
const element = { attr: function(name, value) { console.log(`Setting ${name} to ${value} for #my-link`); } };
const $ = (selector) => element;
$('#my-link').attr('target', '_blank');

removeAttr

removeAttr()

เราได้เรียนรู้วิธีเพิ่มแอตทริบิวต์แล้ว 

ตอนนี้มาดูวิธีลบแอตทริบิวต์ที่มีอยู่กัน

เราจะใช้เมธอด removeAttr() เพื่อทำเช่นนี้

มาดูตัวอย่างของเรากัน

/*
All elements
with tag a have been deleted.
*/
// Simulated DOM for Node.js
const elements = [
  { tag: 'a', target: '_blank' },
  { tag: 'a', target: '_self' },
  { tag: 'p' }
];
elements.forEach(el => {
  if (el.tag === 'a') delete el.target;
});
console.log(JSON.stringify(elements));

เมธอด val

เมธอด val()

แบบฟอร์มเป็นสิ่งจำเป็นสำหรับแอปพลิเคชันเว็บสมัยใหม่ เราจะใช้เมธอด val() เพื่ออ่านข้อมูลที่ผู้ใช้ป้อนลงในองค์ประกอบของแบบฟอร์ม


<input type="text" id="name" 
           name="yourname" 
           value="CoddyKit" />
  <p>
   Your name: <span id="target"></span>
 </p>
<script>

/*
Callback will run as son as
the DOM is loaded
*/
$(document).ready(function(){

//copy the input elemens value
var yourName =  $('#name').val();

/* update target element 
    text by using yourName value
*/
  $('#target').text(yourName);
})

</script>

คำเตือน

ในบทเรียนการจัดการเหตุการณ์ เราจะเรียนรู้วิธีรับฟังข้อมูลอินพุตแต่ละรายการและแสดงข้อมูลนั้นในองค์ประกอบ span

ข้อมูลเพิ่มเติม

หากต้องการอัปเดตค่าของอินพุต เราจะส่งอาร์กิวเมนต์ให้เมธอด val ตามที่คุณอาจคาดเดาได้

const $ = (selector) => ({
  val: (value) => console.log(`Set ${selector} to ${value}`)
});
$('#name').val('New value')

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

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

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

ในส่วนถัดไป เราจะเรียนรู้การจัดการ DOM ใน jQuery ต่อ

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

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

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

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

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

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

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

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

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

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

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

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

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