تعريف إلحاق الطفل
appendChild(newChild: Node): Node
يُلحق عقدة بمصفوفة ChildNodes الخاصة بالعقدة.
المدعومة: IE 5.0+، Mozilla 1.0+، Netscape 6.0+، Safari 1.0+، أوبرا 7.0+
يبدو أن إضافة عقدة إلى مصفوفة العقدة الفرعية للعقدة المحددة أمر مربك بعض الشيء عند قراءتها.
استخدام إلحاق الطفل
target.appendChild(newChild)
يتم إدراج newChild كعقدة فرعية للهدف بعد العقدة الفرعية الأخيرة
مثال إلحاق الطفل
var newElement = document.Document.createElement('label');
newElement.Element.setAttribute('value', 'اسم المستخدم:');
var usernameText = document.Document.getElementById('username');
usernameText.appendChild(newElement);
إدراج قبل التعريف
يقوم الأسلوب InsertBefore() بإدراج عقدة فرعية جديدة قبل العقدة الفرعية الموجودة.
وظيفة طريقة InsertBefore() هي إدراج عقدة فرعية جديدة قبل العقدة الفرعية الموجودة.
أدخل قبل الاستخدام
target.insertBefore(newChild,existingChild)
يتم إدراج newChild كعقدة فرعية للهدف قبل العقدة الموجودة.
الكائن موجود هو معلمة اختيارية، وعندما يكون فارغًا، يكون تأثيره هو نفس تأثير appendChild.
إدراج قبل المثال
var oTest = document.getElementById("test");
var newNode = document.createElement("p");
newNode.innerHTML = "هذا اختبار"؛
oTest.insertBefore(newNode,oTest.childNodes[0]);
حسنًا، إذا كان هناك إدراج قبل، فيجب أن يكون هناك أيضًا إدراج بعد، أليس كذلك؟
حسنًا، لنكتب مثالاً باستخدام Aptana، لكن موجه Aptana الذكي يخبرني أنه لا توجد طريقة InsertAfter.
ثم حدد لوه بنفسك :)
إدراج بعد التعريف
وظيفة إدراج بعد (newEl، targetEl)
{
varparentEl = targetEl.parentNode;
إذا (parentEl.lastChild == targetEl)
{
parentEl.appendChild(newEl);
}آخر
{
parentEl.insertBefore(newEl,targetEl.nextSibling);
}
}
أدخل بعد الاستخدام والأمثلة
var txtName = document.getElementById("txtName");
var htmlSpan = document.createElement("span");
htmlSpan.innerHTML = "هذا اختبار";
InsertAfter(htmlSpan,txtName);
أدخل htmlSpan كعقدة شقيقة لـ txtName بعد العقدة txtName
تلخيص:
1. يتم استخدام appendChild وinsertBefore كطرق للعقد، في حين أن InsertAfter مجرد وظيفة مخصصة.
2. بالمقارنة مع appendChild، يعتبر InsertBefore أكثر مرونة ويمكنه إدراج عقد جديدة في أي موضع في مصفوفة العقدة الفرعية للعقدة المستهدفة.
3. استخدم appendChild وinsertBefore لإدراج عقدة جديدة. الفرضية هي أن العقد الشقيقة يجب أن تحتوي على عقدة رئيسية مشتركة.