replaceWith

« Обратно к списку функций манипуляции с объектами DOM

replaceWith( контент )

Производит замену всех элементов набора элементами HTML или DOM. Возвращает замененный элемент JQuery, который был удален из DOM.
Аргументы:

контент Строка, Элемент, jQuery
Контент, которым необходимо заменить соответствующие элементы.
Примеры:

При нажатии ЛКМ, происходит замена кнопки на элемент div с тем же словом.

    $("button").click(function () {
      $(this).replaceWith("<div>" + $(this).text() + "</div>");
    });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
  $(document).ready(function(){

    $("button").click(function () {
      $(this).replaceWith("<div>" + $(this).text() + "</div>");
    });

  });
  </script>

  <style>
  button { display:block; margin:3px; color:red; width:200px; }
  div { color:red; border:2px solid blue; width:200px;
        margin:3px; text-align:center; }
  </style>
</head>
<body>
  <button>First</button>
  <button>Second</button>

  <button>Third</button>
</body>
</html>

Заменяет содержимое параграфов текстом, заключенным в теги b.

$("p").replaceWith("<b>Paragraph. </b>");
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                    "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
  $(document).ready(function(){
    $("p").replaceWith("<b>Paragraph. </b>");
  });
  </script>

</head>
<body>
  <p>Hello</p>
  <p>cruel</p>
  <p>World</p>

</body>
</html>

Заменяет содержимое параграфов пустыми элементами div.

$("p").replaceWith(document.createElement("div"));
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
  $(document).ready(function(){
    $("p").replaceWith(document.createElement("div"));
  });
  </script>
  <style>
  div { border:2px solid blue; margin:3px; }
  </style>

</head>
<body>
  <p>Hello</p>
  <p>cruel</p>
  <p>World</p>

</body>
</html>
При нажатии ЛКМ, происходит замена каждого параграфа объектом jQuery div, который уже находится в DOM. Обратите внимание, что объект не копируется, а перемещается для того, чтобы заменить параграф.
    $("p").click(function () {
      $(this).replaceWith($("div"));
    });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
  $(document).ready(function(){

    $("p").click(function () {
      $(this).replaceWith($("div"));
    });

  });
  </script>
  <style>

  div { border:2px solid blue; color:red; margin:3px; }
  p { border:2px solid red; color:blue; margin:3px; cursor:pointer; }
  </style>
</head>
<body>
  <p>Hello</p>
  <p>cruel</p>

  <p>World</p>
  <div>Replaced!</div>
</body>
</html>
Name Type