Удаляет все дочерние элементы узла dom в JavaScript

Как бы я идти об удалении всех дочерних элементов узла dom в JavaScript?

Сказать я имею следующее (некрасиво) HTML-код:

<p id="foo">     <span>hello</span>     <div>world</div> </p> 

И я хватаю узел, я хочу вот так:

var myNode = document.getElementById("foo"); 

Как я мог удалить детей foo так что просто <p id="foo"></p> осталось?

Я мог бы просто сделать:

myNode.childNodes = new Array(); 

или я должен быть с использованием некоторой комбинации removeElement?

Я бы хотел ответ ненапрасным дом; хотя дополнительные очки, если Вы также дать ответ в jQuery вместе с dom-только ответ.

я видел, как люди делают:

while (el.firstNode) { el.removeChild(el.firstNode); } 

потом кто-то сказал через el.lastNode быстрее

однако я думаю, что это самый быстрый:

var children = el.childNodes.length; for (var i=0; i<children.length; i++) { el.removeNode(children[i]); } 

что вы думаете?

PS: эта тема была пожизненным спасателем для меня. мой Firefox аддон получил отказ, потому я воспользовался помощью innerhtml. Ее было привычки долго. тогда я foudn этом. и я на самом деле заметил разницы в скорости. на нагрузке свойство innerhtml взяло некоторое время для обновления, однако идя по addElement ее мгновение!

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*