Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Заменить элемент javascript на другой (https://javascript.ru/forum/dom-window/78657-zamenit-ehlement-javascript-na-drugojj.html)

tinycolonel 15.10.2019 20:27

Заменить элемент javascript на другой
 
У меня есть задание:

Мы хотим заменить второй элемент img (bad picture). Поместите текст "Now here is a ‘span’ element." в элемент span.
Мой код:
<!DOCTYPE html>
  <head>
    
  </head>
  <body>
    <p style="color: navy"> There's only picture here...
     <br>
     <img src="http://ipic.su/img/img7/fs/burger.1537205489.jpg" width="100px" height="100px" />
    </p>
    <br>
    <p> This one cannot be displayed. We have to replace it. 
     <img alt="bad picture">
    </p>

<script type="text/javascript">
       var imgElement = document.getElementsByTagName("img")[1];
       var spanElement = document.createElement("span");
       var spanText = document.createTextNode("Now here is a ‘span’ element.");  
       spanElement.appendChild(spanText);
       var rod = document.getElementsByTagName("p")[1];
       document.rod.replaceChild(spanElement, imgElement);
</script>

</body>
</html>

Помогите найти, что здесь неправильно.

рони 15.10.2019 21:18

tinycolonel,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 15.10.2019 21:22

Цитата:

Сообщение от tinycolonel
что здесь неправильно.

Цитата:

Сообщение от tinycolonel
document.replaceChild

нужен родитель картинки!

tinycolonel 15.10.2019 21:33

Я добавил родителя, но код не работает

рони 15.10.2019 21:34

tinycolonel,
https://learn.javascript.ru/dom-navi...sedi-i-roditel
Цитата:

Родитель доступен через parentNode.

рони 15.10.2019 21:36

Цитата:

Сообщение от tinycolonel
document.rod.replaceChild(spanElement, imgElement);

уберите лишнее.
или можно так
imgElement.parentNode.replaceChild(spanElement, imgElement);

рони 15.10.2019 21:42

tinycolonel,
Цитата:

Сообщение от рони
imgElement.parentNode.replaceChild(spanElement, imgElement);


рони 15.10.2019 21:43

tinycolonel,
или так
rod.replaceChild(spanElement, imgElement);

код форматируйте, кнопки перед вами.


Часовой пояс GMT +3, время: 19:19.