วิธีนี้ช่วยให้คุณสามารถนำเข้าหรือส่งออกบุ๊กมาร์ก "รายการโปรด"
External.ImportExportFavorites(true|false, "(Path)");
พารามิเตอร์แรกระบุการดำเนินการ: import (value จริง) หรือส่งออก (value เท็จ).
พารามิเตอร์ตัวที่สองระบุเส้นทางที่จะนำเข้าหรือส่งออกบุ๊กมาร์ก หากคุณระบุสตริงว่าง เว็บเบราว์เซอร์จะแสดงกล่องโต้ตอบมาตรฐานพร้อมกับการเลือกโฟลเดอร์
วิธีการไม่ส่งคืนค่า
อยู่ในช่วงวิธีการนี้ช่วยให้คุณค้นหาได้ว่าวัตถุ TextRange ที่กำหนดอยู่ภายในวัตถุหรือไม่
(วัตถุ TextRange).inRange((วัตถุ TextRange กำลังเปรียบเทียบ));
วิธีการส่งคืน จริง ช่วงข้อความมีอยู่ภายในหรือเท่ากับวัตถุปัจจุบัน และ เท็จ- มิฉะนั้น.
ช่วงข้อความ.
รองรับ NN ตั้งแต่ 4.0
แทรกองค์ประกอบที่อยู่ติดกันวิธีการแทรกองค์ประกอบของหน้าที่สร้างขึ้นใหม่ภายในหรือถัดจากองค์ประกอบปัจจุบัน
(Object).insertAdjacentElement("beforeBegin|afterBegin|beforeEnd|afterEnd", (องค์ประกอบหน้าที่จะแทรก));
วิธีการนี้ใช้พารามิเตอร์สองตัว
พารามิเตอร์แรกระบุตำแหน่งที่จะแทรกองค์ประกอบของหน้า มีสี่ตัวเลือกสำหรับตัวเลือกนี้:
- beforeBegin - องค์ประกอบจะถูกแทรกก่อนแท็กเปิดขององค์ประกอบหน้าปัจจุบัน
วิธีการแทรกโค้ด HTML ภายในหรือถัดจากแท็กเฉพาะ
(Object).insertAdjacentHTML("beforeBegin|afterBegin|beforeEnd|afterEnd", (แทรกโค้ด HTML แล้ว));
วิธีการนี้ใช้พารามิเตอร์สองตัว
พารามิเตอร์แรกระบุตำแหน่งที่จะแทรกโค้ด HTML มีสี่ตัวเลือกสำหรับตัวเลือกนี้:
- beforeBegin - โค้ดจะถูกแทรกก่อนแท็กเปิดขององค์ประกอบของหน้าปัจจุบัน
- afterBegin - จะถูกแทรกหลังแท็กเปิดขององค์ประกอบหน้าปัจจุบัน
- beforeEnd - จะถูกแทรกก่อนแท็กปิดขององค์ประกอบหน้าปัจจุบัน (แต่หลังจากเนื้อหาทั้งหมดของแท็ก)
- afterEnd - จะถูกแทรกหลังแท็กปิดขององค์ประกอบของหน้าปัจจุบัน
พารามิเตอร์ตัวที่สองระบุโค้ด HTML ที่เราต้องการแทรก
แทรกข้อความที่อยู่ติดกันวิธีการแทรกข้อความภายในหรือถัดจากองค์ประกอบของหน้าเฉพาะ
(Object).insertAdjacentText("beforeBegin|afterBegin|beforeEnd|afterEnd", (แทรกข้อความ));
วิธีการนี้ใช้พารามิเตอร์สองตัว
พารามิเตอร์แรกระบุตำแหน่งที่จะแทรกข้อความ มีสี่ตัวเลือกสำหรับตัวเลือกนี้:
- beforeBegin - ข้อความจะถูกแทรกก่อนแท็กเปิดขององค์ประกอบของหน้าปัจจุบัน
- afterBegin - จะถูกแทรกหลังแท็กเปิดขององค์ประกอบหน้าปัจจุบัน
- beforeEnd - จะถูกแทรกก่อนแท็กปิดขององค์ประกอบหน้าปัจจุบัน (แต่หลังจากเนื้อหาทั้งหมดของแท็ก)
- afterEnd - จะถูกแทรกหลังแท็กปิดขององค์ประกอบของหน้าปัจจุบัน
พารามิเตอร์ตัวที่สองระบุข้อความที่เราต้องการแทรก
วิธีการนี้ไม่ส่งกลับค่า
รองรับโดย IE ตั้งแต่เวอร์ชัน 4.0
แทรกก่อนวิธีการแทรกองค์ประกอบลงในหน้า
(Object).insertBefore((องค์ประกอบของหน้าที่เราต้องการแทรก)[, "(องค์ประกอบลูก)"]);
วิธีการนี้ใช้พารามิเตอร์สองตัว
รองรับโดย IE ตั้งแต่เวอร์ชัน 5.0
แทรกเซลล์วิธีการแทรกเซลล์ลงในแถวของตาราง
(วัตถุแถวตาราง).insertСell([(ดัชนี)]);
วิธีการนี้ใช้พารามิเตอร์ทางเลือกเพียงตัวเดียวเท่านั้น ซึ่งระบุดัชนีของเซลล์ที่แทรกใหม่ในคอลเลกชัน เซลล์.
หากไม่ได้ระบุพารามิเตอร์ เซลล์จะถูกเพิ่มที่ส่วนท้ายของคอลเลกชัน (value -1 ).
รองรับโดย IE ตั้งแต่เวอร์ชัน 4.0
แทรกแถววิธีการแทรกเซลล์ลงในตารางหรือคอลัมน์ใดคอลัมน์หนึ่ง
(วัตถุแถวตาราง).insertRow([(ดัชนี)]);
วิธีการนี้ใช้พารามิเตอร์ทางเลือกเพียงตัวเดียวเท่านั้น ซึ่งระบุดัชนีของแถวที่แทรกใหม่ในคอลเลกชัน แถว.
หากไม่ได้ระบุพารามิเตอร์ บรรทัดจะถูกเพิ่มที่ส่วนท้ายของคอลเลกชัน (value -1 ).
รองรับโดย IE ตั้งแต่เวอร์ชัน 4.0
มีความเท่าเทียมกันวิธีการนี้ช่วยให้คุณสามารถเปรียบเทียบวัตถุ TextRange บางส่วนกับวัตถุปัจจุบันได้
(วัตถุ TextRange).isEqual((วัตถุ TextRange กำลังเปรียบเทียบ));
วิธีการนี้ใช้เพียงพารามิเตอร์เดียว ซึ่งระบุการอ้างอิงถึงวัตถุที่กำลังเปรียบเทียบ ช่วงข้อความ.
วิธีการส่งคืน จริงถ้าวัตถุส่งผ่านพารามิเตอร์ ช่วงข้อความเท่ากับวัตถุปัจจุบัน
รองรับโดย IE ตั้งแต่เวอร์ชัน 4.0
สมัครสมาชิกแล้ววิธีการนี้ช่วยให้คุณทราบว่าลูกค้าสมัครรับข้อมูลช่องใดช่องหนึ่งหรือไม่
External.IsSubscribed("(ที่อยู่อินเทอร์เน็ตของไฟล์ CDF)");
วิธีการนี้ใช้พารามิเตอร์เดียวเท่านั้น ซึ่งระบุที่อยู่อินเทอร์เน็ตของไฟล์ CDF ที่อธิบายช่องสัญญาณ
วิธีการส่งคืน จริงหากลูกค้าสมัครรับข้อมูลช่องนี้และ เท็จ- มิฉะนั้น.
รองรับโดย IE ตั้งแต่เวอร์ชัน 4.0
รายการวิธีการส่งกลับองค์ประกอบคอลเลกชันที่มีหมายเลขที่กำหนด
(Collection).item((ดัชนี)[, (ดัชนีรอง)]);
วิธีการนี้ใช้พารามิเตอร์สองตัว
พารามิเตอร์แรกระบุดัชนีขององค์ประกอบที่ต้องการในคอลเลกชัน ดัชนีสามารถแสดงเป็นตัวเลขหรือค่าสตริงก็ได้
หากระบุดัชนีเป็นตัวเลข องค์ประกอบที่มีตัวเลขนั้นจะถูกส่งกลับ
หากระบุดัชนีเป็นค่าสตริง องค์ประกอบที่มีค่าแอตทริบิวต์ที่ส่งคืนจะเป็น บัตรประจำตัวประชาชนและ ชื่อตรงกับค่าสตริงนี้
หากมีค่าที่ส่งคืนหลายค่า คอลเลกชันใหม่จะถูกส่งกลับซึ่งมีองค์ประกอบที่พบทั้งหมดของคอลเลกชัน ในกรณีนี้ สามารถระบุพารามิเตอร์ทางเลือกตัวที่สองซึ่งระบุดัชนีรองที่ระบุหมายเลของค์ประกอบของคอลเลกชันรอง
หากไม่พบองค์ประกอบคอลเลกชันที่ตรงกัน วิธีการจะส่งกลับ โมฆะ.
รองรับดัชนีตัวเลขสำหรับคอลเลกชัน: บุ๊กมาร์ก, เด็ก, หน้า, เด็กโหนด, ช่วงการควบคุม, กฎ.
ดัชนีรองไม่พร้อมใช้งานสำหรับคอลเลกชัน: คุณลักษณะ, พฤติกรรมโกศ, ตัวกรอง, เฟรม, การนำเข้า, เนมสเปซ, สไตล์ชีต, ช่วงข้อความ, ข้อความสี่เหลี่ยมผืนผ้า.
รองรับโดย IE ตั้งแต่เวอร์ชัน 4.0
ในบทนี้ เราจะได้เรียนรู้วิธีสร้างโหนดองค์ประกอบ (createElement) และโหนดข้อความ (createTextNode) นอกจากนี้เรายังจะพิจารณาวิธีการที่ออกแบบมาสำหรับการเพิ่มโหนดลงในแผนผัง (appendChild, insertBefore) และสำหรับการลบโหนดออกจากแผนผัง (removeChild)
การเพิ่มโหนดให้กับทรีการเพิ่มโหนดใหม่ให้กับแผนผังมักจะดำเนินการใน 2 ขั้นตอน:
- createElement() - สร้างองค์ประกอบ (โหนด) ด้วยชื่อที่ระบุ (แท็ก) เมธอด createElement(element) มีพารามิเตอร์ที่จำเป็น (องค์ประกอบ) หนึ่งรายการ - นี่คือสตริงที่มีชื่อขององค์ประกอบ (แท็ก) ที่จะสร้าง ชื่อขององค์ประกอบ (แท็ก) ในพารามิเตอร์จะต้องเป็นตัวพิมพ์ใหญ่ เป็นผลให้เมธอดนี้ส่งคืนองค์ประกอบที่ถูกสร้างขึ้น
- createTextNode() - สร้างโหนดข้อความที่มีข้อความที่ระบุ เมธอด createTextNode(text) มีพารามิเตอร์ที่จำเป็น (ข้อความ) หนึ่งรายการ - นี่คือสตริงที่มีข้อความของโหนดข้อความ เป็นผลให้วิธีนี้ส่งคืนโหนดข้อความที่สร้างขึ้น
- appendChild() - เพิ่มโหนดเป็นลูกสุดท้ายขององค์ประกอบที่เรียกใช้เมธอดนี้ วิธีการ appendChild(node) มีพารามิเตอร์ที่จำเป็นหนึ่งรายการ: โหนดที่คุณต้องการเพิ่ม เป็นผลให้วิธีนี้ส่งคืนโหนดที่เพิ่มเข้ามา
- insertBefore() - แทรกโหนดเป็นโหนดย่อยขององค์ประกอบที่เรียกใช้เมธอดนี้ เมธอด insertBefore(newNode,existingNode) มีพารามิเตอร์สองตัว: newNode (จำเป็น) คือโหนดที่คุณต้องการเพิ่ม, existingNode (เป็นทางเลือก) คือโหนดลูกขององค์ประกอบก่อนหน้าที่คุณต้องการแทรกโหนด หากไม่ได้ระบุพารามิเตอร์ตัวที่สอง (existingNode) วิธีการนี้จะแทรกไว้ที่ส่วนท้ายเช่น เป็นโหนดลูกสุดท้ายขององค์ประกอบที่ถูกเรียกเมธอดนี้ insertBefore() วิธีการส่งกลับโหนดที่แทรกเป็นผลลัพธ์
ตัวอย่างเช่น:
- คอมพิวเตอร์
- แล็ปท็อป
- แท็บเล็ต
ลองพิจารณาตัวอย่างที่ซับซ้อนมากขึ้นโดยที่เราเพิ่มโหนด LI ลงในแผนผังซึ่งมีโหนดข้อความพร้อมข้อความ "สมาร์ทโฟน" ที่ส่วนท้ายของรายการ ul
ในการทำเช่นนี้คุณต้องทำสิ่งต่อไปนี้:
การทำงานกับโหนดที่มีอยู่โดยใช้เมธอด appendChild() และ insertBefore() นั้นดำเนินการใน 2 ขั้นตอนเช่นกัน:
ตัวอย่างเช่น เพิ่มองค์ประกอบ li ที่มีอยู่ซึ่งมีข้อความ "แท็บเล็ต" ที่จุดเริ่มต้นของรายการ (ซึ่งจะลบออกจากตำแหน่งก่อนหน้า):
//รับองค์ประกอบ UL ที่มีรายการตามรหัส var elementUL = document.getElementById("list"); //รับองค์ประกอบ li ที่มีโหนดข้อความ "แท็บเล็ต" var elementLI = elementUL.childNodes; //เพิ่มองค์ประกอบที่จุดเริ่มต้นของรายการ //ในกรณีนี้ องค์ประกอบจะถูกลบออกจากตำแหน่งเดิม elementUL.insertBefore(elementLI,elementUL.firstChild);
ออกกำลังกาย- มีสองรายการในเอกสาร คุณต้องย้ายองค์ประกอบจากรายการที่สองไปยังรายการแรก
- สร้างรายการ ช่องข้อความ และปุ่ม 2 ปุ่ม เขียนโค้ดใน JavaScript ซึ่งขึ้นอยู่กับปุ่มที่กด จะเพิ่มข้อความในช่องข้อความที่จุดเริ่มต้นหรือจุดสิ้นสุดของรายการ
การลบโหนดออกจากทรีจะดำเนินการใน 2 ขั้นตอน:
เมธอด RemoveChild() จะส่งคืนโหนดที่ถูกลบเป็นค่า หรือคืนค่าเป็นค่าว่างหากไม่มีโหนดที่เราต้องการลบ
//ค้นหาโหนดที่เราต้องการลบ var findElement = document.getElementById("notebook"); //เรียกเมธอด RemoveChild บนโหนดพาเรนต์ // และส่งผ่านโหนดที่พบเป็นพารามิเตอร์ findElement.parentNode.removeChild(findElement);
ตัวอย่างเช่น ลบองค์ประกอบลูกสุดท้ายขององค์ประกอบที่มี id="myID" :
//รับองค์ประกอบที่มี id="myID" var myID = document.getElementById("myID"); //รับโหนดลูกสุดท้ายขององค์ประกอบ myID var LastNode = myID.lastChild; //เพราะ เราไม่ทราบว่าโหนดลูกสุดท้ายขององค์ประกอบนั้นเป็นองค์ประกอบหรือไม่ // จากนั้นเราจะใช้การวนซ้ำ while เพื่อค้นหาลูกสุดท้ายขององค์ประกอบ myID // ตราบใดที่องค์ประกอบนั้นมีโหนดและประเภทของมันคือ ไม่ใช่ 1 (นั่นคือไม่ใช่องค์ประกอบ) ดำเนินการในขณะที่ (lastNode && LastNode.nodeType!=1) ( //ไปที่โหนดก่อนหน้า LastNode = LastNode.previousSibling; ) // ถ้าเราพบองค์ประกอบที่โหนด myID ถ้า (lastNode ) ( //จากนั้นจะต้องลบออก LastNode.parentNode.removeChild( LastNode);
ตัวอย่างเช่น ลบโหนดย่อยทั้งหมดขององค์ประกอบที่มี id="myQuestion" :
//รับองค์ประกอบที่เราต้องการลบโหนดลูกทั้งหมด var elementQuestion = document.getElementById("myQuestion"); // ในขณะที่มีองค์ประกอบแรกในขณะที่ (elementQuestion.firstElement) ( // ลบออก elementQuestion.removeChild(element.firstChild); )
ออกกำลังกายNode.insertBefore() วิธีการเพิ่มองค์ประกอบในรายการลูกของผู้ปกครองก่อนองค์ประกอบที่ระบุ
ไวยากรณ์ var แทรกองค์ประกอบ = องค์ประกอบหลัก.ใส่ก่อน( ใหม่องค์ประกอบ, องค์ประกอบอ้างอิง);ใน Mozilla Firefox หากไม่ได้ตั้งค่า ReferenceElement หรือเป็น null newElement จะถูกแทรกที่ส่วนท้ายของรายการองค์ประกอบลูก ใน IE ReferenceElement เท่ากับไม่ได้กำหนดจะส่งข้อยกเว้น "อาร์กิวเมนต์ไม่ถูกต้อง" ในขณะที่ Chrome จะส่งข้อยกเว้น "Uncaught TypeError" โดยคาดว่าจะมี 2 อาร์กิวเมนต์
- insertedElement องค์ประกอบที่แทรก
- parentElement ผู้ปกครองสำหรับองค์ประกอบใหม่
- newElement องค์ประกอบที่จะแทรก
- ReferenceElement องค์ประกอบก่อนหน้าที่ newElement จะถูกแทรก
อย่างไรก็ตาม ไม่มีวิธีการ insertAfter สามารถแทนที่ได้โดยใช้เมธอด insertBefore ร่วมกับ nextSibling
ในตัวอย่างก่อนหน้านี้ สามารถแทรก sp1 หลัง sp2 ได้ดังนี้:
ParentDiv.insertBefore(sp1, sp2.nextSibling);
หาก sp2 ไม่มีองค์ประกอบถัดไป ก็จะเป็นองค์ประกอบย่อยสุดท้าย sp2.nextSibling จะคืนค่า null และ sp1 จะถูกแทรกที่ส่วนท้ายของโหนดย่อย (ทันทีหลังจาก sp2 )
ตัวอย่างที่ 2การแทรกองค์ประกอบก่อนลูกคนแรกโดยใช้ firstChild
// รับลิงก์ไปยังองค์ประกอบที่เราต้องการเพิ่มองค์ประกอบใหม่ var parentElement = document.getElementById("parentElement"); // รับการอ้างอิงถึงองค์ประกอบลูกแรก var theFirstChild = parentElement.firstChild; // สร้างองค์ประกอบใหม่ที่เราจะเพิ่ม var newElement = document.createElement("div"); // แทรกองค์ประกอบใหม่ก่อน parentElement.insertBefore ลูกแรก (newElement, theFirstChild);
เมื่อผู้ปกครองไม่มีลูกคนแรก firstChild จะส่งคืนค่า null องค์ประกอบใหม่จะยังคงถูกแทรกหลังจากองค์ประกอบลูกสุดท้าย แต่เนื่องจากพ่อแม่ไม่มีลูกคนแรก จึงไม่มีลูกคนสุดท้าย ดังนั้น หลังจากเพิ่มองค์ประกอบเข้าไปแล้ว องค์ประกอบนั้นจะเป็นองค์ประกอบลูกเพียงองค์ประกอบเดียว
ความเข้ากันได้ของเบราว์เซอร์การสนับสนุนขั้นพื้นฐาน | 1.0 | (ใช่) | (ใช่) | (ใช่) | (ใช่) |