《jQuery、jQuery UI及jQuery Mobile技巧与示例》——3.15 技巧:包裹和解包元素

3.15 技巧:包裹和解包元素

如果你想用一个新的HTML元素封装一个已经存在的元素,jQuery提供了多个函数来帮你完成此项工作。每个函数的名字都包含了单词“wrap”,但它们的工作细节却不一样。代码清单3-15演示了wrap()最基本的用法。

代码清单3-15 包裹和解包段落元素

00 <!DOCTYPE html>
01
02 <html lang="en">
03 <head>
04  <title>The wrap() and unwrap() function</title>
05  <style>
06  /* 请将下列代码移至一个外部的
07    .css文件 */
08  div.wrapper {
09   border: 1px solid red;
10  }
11  </style>
12 </head>
13 <body>
14 
15 <h2>Paragraphs below are wrapped. Click the paragraphs to
16  test wrap()</h2>
17
18 <p>Paragraph to wrap</p>
19 <p>Paragraph to wrap</p>
20
21 <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
22
23 <script>
24 // 请将下列代码移至一个外部的.js文件中
25 $(document).ready(function() {
26 
27  $('p').wrap('<div class="wrapper"/>');
28
29  $('p').click(function() {
30   $(this).unwrap('<div class="wrapper"/>');
31  });
32 
33 });
34 </script>
35 </body>
36 </html>

在这个例子中,每个段落元素都被包裹在它自己的包裹div(wrapper div)里面。然后,使用unwrap()函数移除这些div。

代码清单3-16演示了wrapInner()函数的用法。

代码清单3-16 包裹段落元素的内容

00 <!DOCTYPE html>
01
02 <html lang="en">
03 <head>
04  <title>The wrapInner() function</title>
05  <style>
06  /* 请将下列代码移至一个外部的
07    .css文件 */
08  div.wrapper {
09   border: 1px solid red;
10  }
11  </style>
12 </head>
13 <body>
14
15 <h2>The paragraphs below are modified with wrapInner()</h2>
16
17 <p>Paragraph to wrap</p>
18 <p>Paragraph to wrap</p>
19
20 <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
21
22 <script>
23 //请将下列代码移至一个外部的.js文件中
24 $(document).ready(function() {
25 
26  $('p').wrapInner('<div class="wrapper"/>');
27
28  // 不能用unwrap()来解包:
29  // $('p').click(function() {
30  //  $(this).unwrap('<div class="wrapper"/>');
31  // });
32  
33 });
34 </script>
35 </body>
36 </html>

在这个例子中,段落元素自身没有被包裹。相反,段落元素的内容被包裹了。这意味着现在p元素包含了一个div。unwrap()函数在这个示例中是不能工作的。请记住将div放置在段落元素中不但是个坏习惯,而且还会导致你的HTML代码变得不规范,这个示例只是演示wrapInner()如何工作。

代码清单3-17演示了wrapAll()的用途。

代码清单3-17 包裹一组段落元素

00 <!DOCTYPE html>
01
02 <html lang="en">
03 <head>
04  <title>The wrapAll() function</title>
05  <style>
06  /* 请将下列代码移至一个外部的
07    .css文件 */
08  div.wrapper {
09   border: 1px solid red;
10  }
11  </style>
12 </head>
13 <body>
14
15 <h2>Paragraphs below are wrapped with wrapAll() Click
16   the paragraphs to unwrap()</h2>
17
18 <p>Paragraph to wrap</p>
19 <p>Paragraph to wrap</p>
20
21 <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
22
23 <script>
24 // 请将下列代码移至一个外部的.js文件中
25 $(document).ready(function() {
26 
27  $('p').wrapAll('<div class="wrapper"/>');
28
29  $('p').click(function(){
30   $(this).unwrap('<div class="wrapper"/>');
31  });
32 
33 });
34 </script>
35 </body>
36 </html>

在这个示例中,一个包裹div包含了所有选取的段落元素。unwrap()函数则移除这个包裹元素。

时间: 2024-11-05 06:24:58

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——3.15 技巧:包裹和解包元素的相关文章

JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)_javascript技巧

jQuery获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text 3. var checkValue=$("#se

JS和Jquery获取和修改label的值的示例代码_javascript技巧

获取值: label标签在JS和Jquery中使用不能像其他标签一样用value获取它的值: 复制代码 代码如下: var label=document.getElementById("id"); var value=label.value; var value=$("#id").val(); 可以这样: JS: 复制代码 代码如下: var label=document.getElementById("id"); var value=label

asp.net使用jQuery获取RadioButtonList成员选中内容和值示例_实用技巧

复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Web.Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.6 技巧:使用对话框微件引起注意

7.6 技巧:使用对话框微件引起注意 如果想使网页中的一小部分内容脱颖而出,有几种方法可以实现它.其中一个方法是用对话框的形式显示内容.jQuery UI提供了这样一个对话框组件(dialog).代码清单7-6演示了如何从一个常见的段落元素创建对话框. 代码清单7-6 将段落元素转换为对话框 00 <!DOCTYPE html> 01 02 <html lang="en"> 03 <head> 04 <title>jQuery UI Di

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.8 技巧:使用滑块微件获取数字

7.8 技巧:使用滑块微件获取数字 在客户端应用程序中,你有时会发现滑块用做输入数字的元素.滑块的优点是,它比数字输入框更可视化和更直观. 代码清单7-8展示了如何将div改成滑块(slider)微件. 代码清单7-8 将 元素转换为滑块并显示其值 00 <!DOCTYPE html> 01 02 <html lang="en"> 03 <head> 04 <title>jQuery UI Slider</title> 05

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.5 技巧:使用日历微件选择日期

7.5 技巧:使用日历微件选择日期 在HTML5之前,在Web页面中选择日期是很痛苦的.甚至支持了HTML5的浏览器中仍有一些不能提供一个好用的日历. 代码清单7-5展示了jQuery UI提供的datepicker,它可以用于传统的输入框. 代码清单7-5 帮助网站用户输入日期 00 <!DOCTYPE html> 01 02 <html lang="en"> 03 <head> 04 <title>jQuery UI Datepick

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.2 技巧:使用自动补全微件提示输入值

7.2 技巧:使用自动补全微件提示输入值 在一些网站上,你可以找到用于选择的下拉菜单,它们包含了极长的选项列表.在许多情况下,可以使用具有自动补全功能的输入框取代下拉式菜单来帮助用户.省去了滚动选择,用户只要输入目标选项的第一个字符,然后自动补全组件便可以完成剩下的事. 代码清单7-2提供了一个自动补全的例子,它使用一段称为"Lorem Ipsum"的文字来实现输入第一个字后的补全.这段文字起源于两千年前,但仍然使用在图形设计和排版行业(通常被称为"假文"或&quo

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.7 技巧:使用进度条微件显示进程的状态

7.7 技巧:使用进度条微件显示进程的状态 当Web应用程序执行一个动作的持续时间超过大约两秒钟时,为用户显示动作状态是一个很好的做法.如果不知道动作的状态,通常会改变鼠标光标或显示一个旋转的效果. 在某些情况下,你能知道进程的进度.在这种情况下,最好尽可能准确地满足用户的期待.代码清单7-7介绍了jQuery UI的进度条(progressbar),可以使用它实现这样的目的. 代码清单7-7 将一个 元素转换为进度条 00 <!DOCTYPE html> 01 02 <html lan

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.3 技巧:将元素转换为按钮微件

7.3 技巧:将元素转换为按钮微件 一般情况下,HTML提供了多种方法创建看似按钮的元素,甚至不使用CSS样式或JavaScript.回想一下,比如button元素.类型为button和submit的输入框. 通过结合CSS和JavaScript,任何元素都可以做成如按钮一样的外观.代码清单7-3演示了jQuery UI如何帮助你创建按钮. 代码清单7-3 选取一列元素并装饰成按钮 00 <!DOCTYPE html> 01 02 <html lang="en">