[Функция] wrap(elem)
Раздел "Manipulation"
Функция создаёт вокруг каждого подходящего элемента определенный элемент.
Параметры
wrap(elem)
1.0
elem: DOM элемент, который будет устанавливлен вокруг каждого объекта.
wrap(wrappingFunction)
1.4
scope:
Вторая версия данного метода - wrap(wrappingFunction) позволяет определить функцию обратного вызова. Данная функция будет вызвана для каждого подходящего элемента единожды. Данная функция должна возвращать элемент структуры DOM, jQuery объект, отрезок HTML в который оборачивается ссылающийся элемент.
Примеры
Пример:
Установить вокруг всех параграфов элемент div.
"HTML"
<p>Hello</p> <p>cruel</p> <p>World</p>
"CSS"
div { border: 2px solid blue; } p { background:yellow; margin:4px; }
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link href="http://test-drupal.ru/themes/slyweb/css/jqueryiframe.css" rel="stylesheet" type="text/css"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> <script> $(document).ready(function(){ $("p").wrap(document.createElement("div")); }); </script> </head> <body class="iframe"> <p>Hello</p> <p>cruel</p> <p>World</p> </body> </html> <style> div { border: 2px solid blue; } p { background:yellow; margin:4px; } </style>
Пример:
Установить jQuery объект - двойной элемент div вокруг всех параграфов. Учтите функция не перемещает объект, функция копирует объект, который создаёт структуру вокруг другого объекта.
"HTML"
<p>Hello</p> <p>cruel</p> <p>World</p> <div class="doublediv"><div></div></div>
"CSS"
div { border: 2px solid blue; margin:2px; padding:2px; } .doublediv { border-color:red; } p { background:yellow; margin:4px; font-size:14px; }
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link href="http://test-drupal.ru/themes/slyweb/css/jqueryiframe.css" rel="stylesheet" type="text/css"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> <script> $(document).ready(function(){ $("p").wrap($(".doublediv")); }); </script> </head> <body class="iframe"> <p>Hello</p> <p>cruel</p> <p>World</p> <div class="doublediv"><div></div></div> </body> </html> <style> div { border: 2px solid blue; margin:2px; padding:2px; } .doublediv { border-color:red; } p { background:yellow; margin:4px; font-size:14px; } </style>
Пример:
Установить вокруг всех параграфов элемент div.
"HTML"
<div class="container"> <div class="inner">Hello</div> <div class="inner">Goodbye</div> </div>
"CSS"
.Hello { border: 2px solid blue; } .Goodbye { background:yellow; margin:4px; }
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link href="http://test-drupal.ru/themes/slyweb/css/jqueryiframe.css" rel="stylesheet" type="text/css"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> <script> $(document).ready(function(){ $('.inner').wrap(function() { return '<div class="' + $(this).text() + '" />'; }); }); </script> </head> <body class="iframe"> <div class="container"> <div class="inner">Hello</div> <div class="inner">Goodbye</div> </div> </body> </html> <style> .Hello { border: 2px solid blue; } .Goodbye { background:yellow; margin:4px; } </style>
Версия jQuery 1.4.2
Документ создан 2010-08-21