Удаление дочерних элементов
Есть вот такой HTML:
<p id = "id1">текст1 <p>текст2</p> </p> И есть "функция":
function replaceNodeText(id, newText){
node = document.getElementById(id);
while (node.lastChild){
node.removeChild(node.lastChild);
}
node.appendChild(document.createTextNode(newText));
}
//вызываю
replaceNodeText("id1", "Новый текст");
В результате вместо ожидаемого <p id = "id1">Новый текст</p> получается <p id = "id1">Новый текст <p>текст2</p> </p>. Дело вроде в неправильном HTML, но в чем именно? |
Цитата:
|
Ramundo, что на самом деле в браузере
<p id="id1">текст1 </p> <p>текст2</p> <p></p> |
Цитата:
<head>
<script>window.onload = function(){alert(document.body.innerHTML)}</script>
<body>
<p id = "id1">текст1 <p>текст2</p> </p>
</body>
|
danik.js,
твоё сообщение о чём и кому? |
|
Блин, че за дела? Вот ведь файл:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>JS Testing</title> <center><h3>Сайт</h3></center> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <p id = "id1">текст1 <p>текст2</p> </p>
<script type = 'text/javascript'>
function replaceNodeText(id, newText){
node = document.getElementById(id);
while (node.lastChild){
node.removeChild(node.lastChild);
}
node.appendChild(document.createTextNode(newText));
}
replaceNodeText("id1", "ololo");
function removeChildren(id) {
node = document.getElementById(id);
var children = node.childNodes;
for(var i=0;i<children.length; i++) {
var child = children[i];
node.removeChild(child);
}
}
//removeChildren("id1");
</script>
</body> </html> |
Ramundo,
ну нехотят браузеры в параграф параграфы вставлять |
Ramundo,
и в таблицу div не хотят- это так на всякий |
Блин, надо же было проверить код именно на параграфах... Спасибо, и за div тоже:)
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 21:16. |