Element.wrap(element, wrapper[, attributes]) -> HTMLElement
someElement.wrap(wrapper[, attributes]) -> HTMLElement
将 element 表示的元素放入到参数 wrapper 指定的元素内部,返回 wrapper。
在 Internet Explorer 中,如果对 textarea 元素使用 wrap 实例方法(如 $('foo').wrap('p')),将会引发错误。这是因为 IE 对 HTML 进行了一些私下的扩展,而 wrap 是 textarea 扩展后的一个属性。在这种情形下,请使用一般的版本(Element.wrap('foo', 'p'))。
如果页面上存在指定的元素,Element#wrap 会在恰当的位置封装它——元素在页面上的的位置不会发生变化。
参数 wrapper 可以是一个当前已有的 HTMLElement,也可以是一个能够被实际创建的 HTML 标签。可选的参数 attributes 包含一个属性/值对的列表,Prototype 调用 Element#writeAttribute 方法将属性/值对设置为 wrapper 的属性。
<table id="data">
<tr>
<th>Foo</th>
<th>Bar</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
// 方式 1:
var div = new Element('div', { 'class': 'table-wrapper' });
$('data').wrap(div);
// 方式 2:
$('data').wrap('div', { 'class': 'table-wrapper' });
// 两种方式是一样的,均返回 DIV
<div class="table-wrapper">
<table id="data">
<tr>
<th>Foo</th>
<th>Bar</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
</div>