.wrapAll()


.wrapAll( wrappingElement )傳回: jQuery

說明: 將 HTML 結構包覆在所有符合元素集合的元素外圍。

  • 新增版本: 1.2.wrapAll( wrappingElement )

    • wrappingElement
      類型: 選擇器htmlString元素jQuery
      指定要包覆在符合元素外圍的結構之選擇器、元素、HTML 字串或 jQuery 物件。
  • 新增版本: 1.4.wrapAll( function )

    • function
      類型: 函式() => 字串jQuery
      傳回 HTML 內容或 jQuery 物件的回呼函式,用於包覆所有相符的元素。在函式中,this 指的是集合中的第一個元素。在 jQuery 3.0 之前,會不正確地針對集合中的每個元素呼叫回呼函式,並將元素在集合中的索引位置作為引數傳入。

.wrapAll() 函式可以採用任何可以傳遞給 $() 函式的字串或物件,以指定 DOM 結構。此結構可以巢狀多層,但最內層的元素只能有一個。此結構將以單一群組的形式,包覆在相符元素集合中的所有元素周圍。

考慮以下 HTML

1
2
3
4
<div class="container">
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
</div>

使用 .wrapAll(),我們可以像這樣在內層 <div> 元素周圍插入 HTML 結構

1
$( ".inner" ).wrapAll( "<div class='new' />");

新的 <div> 元素會動態建立並新增到 DOM 中。結果是新的 <div> 包覆在所有相符的元素周圍

1
2
3
4
5
6
<div class="container">
<div class="new">
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
</div>
</div>

範例

在所有段落周圍包覆一個新的 div。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>wrapAll demo</title>
<style>
div {
border: 2px solid blue;
}
p {
background: yellow;
margin: 4px;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
<script>
$( "p" ).wrapAll( "<div></div>" );
</script>
</body>
</html>

示範

在 span 周圍包覆一個新建立的物件樹。請注意,在 span 之間的任何內容都會被遺漏,例如此範例中的 <strong>(紅色文字)。甚至 span 之間的空白也會被遺漏。按一下「檢視原始碼」以查看原始 html。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>wrapAll demo</title>
<style>
div {
border: 2px blue solid;
margin: 2px;
padding: 2px;
}
p {
background: yellow;
margin: 2px;
padding: 2px;
}
strong {
color: red;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<span>Span Text</span>
<strong>What about me?</strong>
<span>Another One</span>
<script>
$( "span").wrapAll( "<div><div><p><em><b></b></em></p></div></div>" );
</script>
</body>
</html>

示範

在所有段落周圍包覆一個新的 div。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>wrapAll demo</title>
<style>
div {
border: 2px solid blue;
}
p {
background: yellow;
margin: 4px;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
<script>
$( "p" ).wrapAll( document.createElement( "div" ) );
</script>
</body>
</html>

示範

在所有段落周圍包覆一個 jQuery 物件雙層 div。請注意,它不會移動物件,而只是複製它以包覆其目標。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>wrapAll demo</title>
<style>
div {
border: 2px solid blue;
margin: 2px;
padding: 2px;
}
.doublediv {
border-color: red;
}
p {
background: yellow;
margin: 4px;
font-size: 14px;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
<div class="doublediv"><div></div></div>
<script>
$( "p" ).wrapAll( $( ".doublediv" ) );
</script>
</body>
</html>

示範