Почему не отрабатывает замена одного элемента другим ?
Добрый день уважаемые. Подскажите пожалуйста почему не срабатывает функция .replaceWith в этом маленьком примере
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>title</title> </head> <body> <img class="myPicture" src="" alt="picture"> <img class="myPicture" src="" alt="picture"> <script> window.onload = function(){ var svgPicture = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><rect x="60" y="10" rx="10" ry="10" width="30" height="30" stroke="black" fill="#f00" stroke-width="5"/></svg>' var myImg = document.querySelectorAll(".myPicture"); myImg[1].replaceWith(svgPicture); } </script> </body> </html> Необходимо второе фото после загрузки заменить на svg вставку? Что не так? Как исправить ? |
.replaceWith - стоит ли, ведь в JS, в отличии от JQ, этот метод не все браузеры поддерживают?
|
Я пока не нашёл другой аналогичной функции. Если есть предложения, я готов выслушать :) Этот метод пока не рабочий для чистого JS
|
Цитата:
|
Спасибо, за доки но чёт я где-то туплю
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>title</title> </head> <body> <img class="myPicture" src="" alt="picture"> <img class="myPicture" src="" alt="picture"> <script> var svgPicture = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><rect x="60" y="10" rx="10" ry="10" width="30" height="30" stroke="black" fill="#f00" stroke-width="5"/></svg>'; var imgSvg = document.createElement('div'); imgSvg.innerHTML = svgPicture; var myImg = document.querySelectorAll(".myPicture"); myImg[1].parentNode.replaceChild(imgSvg,myImg[1]); </script> </body> </html> Оно выводит, но вот как избавиться от div-а обертки я пока не могу придумать. Мне просто один элемент надо менять на другой |
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>title</title> </head> <body> <img class="myPicture" src="" alt="picture"> <img class="myPicture" src="" alt="picture"> <script> var svgPicture = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><rect x="60" y="10" rx="10" ry="10" width="30" height="30" stroke="black" fill="#f00" stroke-width="5"/></svg>'; document.querySelectorAll(".myPicture")[1].outerHTML = svgPicture; </script> </body> </html> |
Часовой пояс GMT +3, время: 08:25. |