определение дочернего элемента
appendChild(newChild: Node): Узел
Добавляет узел в массив childNodes для узла.
Поддерживается: IE 5.0+, Mozilla 1.0+, Netscape 6.0+, Safari 1.0+, Opera 7.0+.
Добавление узла в массив дочерних узлов указанного узла кажется немного запутанным для чтения. Проще говоря, это означает добавление элементов в указанный узел.
Использование приложенияAppChild
target.appendChild(новыйЧилд)
newChild вставляется как дочерний узел целевого объекта после последнего дочернего узла.
Пример приложенияChild
вар 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 вставляется как дочерний узел целевого объекта перед существующим дочерним узлом.
существующийChild является необязательным параметром. Если он имеет значение null, его эффект такой же, как и у AppendChild.
Пример вставкиBefore
var oTest = document.getElementById("тест");
var newNode = document.createElement("p");
newNode.innerHTML = "Это тест";
oTest.insertBefore(newNode,oTest.childNodes[0]);
Хорошо, если есть InsertBefore, то должен быть и InsertAfter, верно?
Хорошо, давайте напишем пример с использованием Aptana, но умная подсказка Aptana сообщает мне, что метода InsertAfter нет.
Тогда определите Luo сами :)
вставить после определения
функция InsertAfter(newEl, targetEl)
{
вар родительский = targetEl.parentNode;
если (parentEl.lastChild == targetEl)
{
родительЭл.appendChild(newEl);
}еще
{
родительЭл.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 для вставки нового узла. Предполагается, что его родственные узлы должны иметь общий родительский узел.