Почему не отрабатывает замена одного элемента другим ?
Добрый день уважаемые. Подскажите пожалуйста почему не срабатывает функция .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, время: 16:50. |