當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


JQuery .wrapAll()用法及代碼示例

用法
.wrapAll( wrappingElement ) => jQuery

說明:圍繞匹配元素集中的所有元素包一個 HTML 結構。

  • 添加的版本:1.2.wrapAll( wrappingElement )

    • wrappingElement
      類型:SelectorhtmlStringElementjQuery
      一個選擇器、元素、HTML 字符串或 jQuery 對象,指定用於環繞匹配元素的結構。
  • 添加的版本:1.4.wrapAll( function )

    • function
      類型:Function () => StringjQuery
      一個回調函數,返回 HTML 內容或 jQuery 對象以環繞所有匹配的元素。在函數內,this指的是集合中的第一個元素。Prior to jQuery 3.0,為集合中的每個元素錯誤地調用回調,並接收集合中元素的索引位置作為參數。

.wrapAll() 函數可以采用可以傳遞給 $() 函數的任何字符串或對象來指定 DOM 結構。這個結構可以嵌套好幾層,但應該隻包含一個最裏麵的元素。該結構將圍繞匹配元素集中的所有元素,作為一個組。

考慮以下 HTML:

<div class="container">
  <div class="inner">Hello</div>
  <div class="inner">Goodbye</div>
</div>

使用 .wrapAll() ,我們可以在內部 <div> 元素周圍插入一個 HTML 結構,如下所示:

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

新的<div> 元素是動態創建並添加到 DOM 中的。結果是一個新的 <div> 包所有匹配的元素:

<div class="container">
  <div class="new">
    <div class="inner">Hello</div>
    <div class="inner">Goodbye</div>
  </div>
</div>

例子:

圍繞所有段落包一個新的 div。

<!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.5.0.js"></script>
</head>
<body>
 
<p>Hello</p>
<p>cruel</p>
<p>World</p>
 
<script>
$( "p" ).wrapAll( "<div></div>" );
</script>
 
</body>
</html>

演示:

在跨度周圍包一個新創建的對象樹。請注意,跨度之間的任何內容都會像本例中的 <strong>(紅色文本)一樣被忽略。甚至跨度之間的空白也被忽略了。單擊查看源代碼以查看原始 html。

<!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.5.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。

<!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.5.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。請注意,它不會移動對象,而隻是將其克隆以環繞其目標。

<!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.5.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>

演示:

相關用法


注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .wrapAll()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。