Я так скучаю по jQuery.Я работаю над проектом, в котором мне нужно снова испачкать свои руки хорошим и простым Javascript.
У меня есть такой сценарий:
parent
child1
child2
child3
Через javascript я хочу бытьвозможность вставить новый узел до или после любого из этих потомков.В то время как у javascript есть insertBefore
, insertAfter
нет.
Вставить до будет нормально работать на вышеприведенном, чтобы вставить узел перед любым из них:
parent.insertBefore(newNode, child3)
Но как можно вставить узел ПОСЛЕ child3?Я использую это в данный момент:
for (i=0,i<myNodes.length,i++){
myParent.insertBefore(newNode, myNodes[i+1])
}
То есть вставка моего нового узла перед следующим узлом-родителем каждого из моих узлов (это означает, что он ставит его после каждого узла).
Когдаон достигает последнего узла, myNodes[i+1]
становится undefined
, поскольку я сейчас пытаюсь получить доступ к индексу массива, который не существует.
Я бы подумал, что это приведет к ошибке, но, похоже,чтобы нормально работать в этой ситуации, мой узел действительно вставляется после последнего узла.
Но так ли это?Сейчас я тестирую его в нескольких современных браузерах без каких-либо вредных эффектов.Есть ли лучший способ?