wrap1.6
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
的属性。
样例
初始 HTML
<table id="data">
<tr>
<th>Foo</th>
<th>Bar</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
JavaScript
// 方式 1:
var div = new Element('div', { 'class': 'table-wrapper' });
$('data').wrap(div);
// 方式 2:
$('data').wrap('div', { 'class': 'table-wrapper' });
// 两种方式是一样的,均返回 DIV
最终的 HTML
<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>