Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.03.2015, 22:14
Аспирант
Отправить личное сообщение для Ramundo Посмотреть профиль Найти все сообщения от Ramundo
 
Регистрация: 07.03.2015
Сообщений: 47

Удаление дочерних элементов
Есть вот такой 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, но в чем именно?
Ответить с цитированием
  #2 (permalink)  
Старый 07.03.2015, 22:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Ramundo
Есть вот такой HTML:
<p id = "id1">текст1 <p>текст2</p> </p>
нет у вас такого HTML в этом и вся проблема
Ответить с цитированием
  #3 (permalink)  
Старый 07.03.2015, 23:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Ramundo, что на самом деле в браузере
<p id="id1">текст1 </p>
<p>текст2</p>
<p></p>
Ответить с цитированием
  #4 (permalink)  
Старый 08.03.2015, 10:00
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от рони
Есть вот такой HTML:
<head>
<script>window.onload = function(){alert(document.body.innerHTML)}</script>
<body>
<p id = "id1">текст1 <p>текст2</p> </p>
</body>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 08.03.2015, 10:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

danik.js,
твоё сообщение о чём и кому?
Ответить с цитированием
  #6 (permalink)  
Старый 08.03.2015, 10:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

danik.js,
Ответить с цитированием
  #7 (permalink)  
Старый 08.03.2015, 10:18
Аспирант
Отправить личное сообщение для Ramundo Посмотреть профиль Найти все сообщения от Ramundo
 
Регистрация: 07.03.2015
Сообщений: 47

Блин, че за дела? Вот ведь файл:
<!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>
Ответить с цитированием
  #8 (permalink)  
Старый 08.03.2015, 10:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Ramundo,
ну нехотят браузеры в параграф параграфы вставлять
Ответить с цитированием
  #9 (permalink)  
Старый 08.03.2015, 10:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Ramundo,
и в таблицу div не хотят- это так на всякий
Ответить с цитированием
  #10 (permalink)  
Старый 08.03.2015, 10:31
Аспирант
Отправить личное сообщение для Ramundo Посмотреть профиль Найти все сообщения от Ramundo
 
Регистрация: 07.03.2015
Сообщений: 47

Блин, надо же было проверить код именно на параграфах... Спасибо, и за div тоже
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор дочерних элементов Grendel Элементы интерфейса 3 25.08.2014 14:52
Как удалить класс всех дочерних элементов? Jeremen Events/DOM/Window 8 01.09.2012 20:43
Блокировка событий всех дочерних элементов moreo Элементы интерфейса 4 26.05.2012 23:58
Удаление элементов через splice. возможно ли оптимизировать? Storan Общие вопросы Javascript 0 01.10.2011 21:16
Как изменить background всех дочерних элементов внутри <div>? libinstyle Общие вопросы Javascript 2 24.03.2010 13:25