wrapAll

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

wrapAll( html )

Заключает все элементы в наборе в единственную конструкцию HTML.
Отличие от .wrap() состоит в том, что здесь все элементы заключаются в один единственный элемент.
Этот процесс наиболее полезен для встраивания дополнительной структуры в документ без необходимости разрушения его первоначальных семантических свойств.

Принцип действия построен на анализе первого созданного элемента (который генерируется на лету из строчки кода HTML). Анализ состоит в поиске самого дальнего «потомка» в пределах его структуры — это и будет тот элемент, в который будет заключаться все остальное.

Аргументы:

html Строка
Строка HTML кода, создаваемого на лету, в который будут заключены элементы.
Примеры:

Заключает все параграфы на странице в новый элемент div.

$("p").wrapAll("<div></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").wrapAll("<div></div>");
  });
  </script>

  <style>
  div { border: 2px solid blue; }
  p { background:yellow; margin:4px; }
  </style>
</head>
<body>
  <p>Hello</p>
  <p>cruel</p>

  <p>World</p>
</body>
</html>

Заключает все блоки span в только что созданное дерево объектов. Обратите внимание, все, что находится за границами блока span, остается неизменным (например, красный текст в блоке <strong> в этом примере).

$("span").wrapAll("<div><div><p><em><b></b></em></p></div></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(){
    $("span").wrapAll("<div><div><p><em><b></b></em></p></div></div>");
  });
  </script>

  <style>
  div { border:2px blue solid; margin:2px; padding:2px; }
  p { background:yellow; margin:2px; padding:2px; }
  strong { color:red; }
  </style>
</head>
<body>
  <span>Span Text</span>
  <strong>What about me?</strong>

  <span>Another One</span>
</body>
</html>
Name Type

wrapAll( элемент )

Заключает все элементы в наборе в единственный элемент.
Отличие от .wrap() состоит в том, что здесь все элементы заключаются в один единственный элемент.
Аргументы:

элементы Элемент
Элемент DOM внутрь которого будут вставляться элементы.
Примеры:

Заключает все параграфы на странице в новый элемент div.
$("p").wrapAll(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").wrapAll(document.createElement("div"));
  });
  </script>
  <style>
  div { border: 2px solid blue; }
  p { background:yellow; margin:4px; }
  </style>

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

</body>
</html>
Заключает все параграфы на странице в объект jQuery, который представляет собой двойной элемент div.

$("p").wrapAll($(".doublediv"));
<!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").wrapAll($(".doublediv"));
  });
  </script>
  <style>
  div { border: 2px solid blue; margin:2px; padding:2px; }
  .doublediv { border-color:red; }
  p { background:yellow; margin:4px; font-size:14px; }
  </style>

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

  <div class="doublediv"><div></div></div>
</body>
</html>
Name Type