jQuery
jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多),对javascript进行了封装,是的更加便捷的开发,并且在兼容性方面十分优秀。
http://www.php100.com/manual/jquery/
jQuery语法
通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions)。
jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。
基础语法: $(selector).action()
美元符号定义 jQuery
选择符(selector)"查询"和"查找" HTML 元素
jQuery 的 action() 执行对元素的操作
实例:
$(this).hide() - 隐藏当前元素
$("p").hide() - 隐藏所有 <p> 元素
$("p.test").hide() - 隐藏所有 class="test" 的 <p> 元素
$("#test").hide() - 隐藏所有 id="test" 的元素
您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:
1 2 3 4 5 | $(document).ready( function (){ // jQuery methods go here... }); |
这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。
如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:
试图隐藏一个不存在的元素
获得未完全加载的图像的大小
提示:简洁写法(与以上写法效果相同):
1 2 3 4 5 | $( function (){ // jQuery methods go here... }); |
以上两种方式你可以选择你喜欢的方式实现文档就绪后执行jQuery方法。
jQuery选择器
jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。
jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。
jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。
jQuery 中所有选择器都以美元符号开头:$()。
1、元素选择器
jQuery 元素选择器基于元素名选取元素。
在页面中选取所有 <p> 元素:
1 | $( "p" ) |
2、id选择器
jQuery #id 选择器通过 HTML 元素的 id 属性选取指定的元素。
页面中元素的 id 应该是唯一的,所以您要在页面中选取唯一的元素需要通过 #id 选择器。
通过 id 选取元素语法如下:
1 | $( "#test" ) |
3、.class选择器
jQuery 类选择器可以通过指定的 class 查找元素。
语法如下:
1 | $( ".test" ) |
4、 selector1,selector2,selectorN选择器
将每一个选择器匹配到的元素合并后一起返回。
你可以指定任意多个选择器,并将匹配到的元素合并到一个结果内。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <div>div</div> <p class= "myClass" >p class= "myClass" </p> <span>span</span>
<script> $( "div,span,p.myClass" ) </script> </body> </html> |
5、ancestor descendant选择器
在给定的祖先元素下匹配所有的后代元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <form> <label>Name:</label> <input name= "name" /> <fieldset> <label>Newsletter:</label> <input name= "newsletter" /> </fieldset> </form>
<script> $( "form input" ) </script> </body> </html> |
结果:
6、 parent > child选择器
在给定的父元素下匹配所有的子元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <form> <label>Name:</label> <input name= "name" /> <fieldset> <label>Newsletter:</label> <input name= "newsletter" /> </fieldset> </form>
<script> $( "form > input" ) </script> </body> </html> |
结果:
7、first选择器
获取第一个元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <ul> <li>list item 1</li> <li>list item 2</li> <li>list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul> <script src= "jquery-2.2.3.js" ></script> <script> var test = $( 'li:first' ); console.log(test); </script> </body> </html> |
结果:
8、not(selector)选择器
去除所有与给定选择器匹配的元素
在jQuery 1.3中,已经支持复杂选择器了(例如:not(div a) 和 :not(div,a))
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <input name= "apple" /> <input name= "flower" checked= "checked" /> <script src= "jquery-2.2.3.js" ></script> <script> var test = $( "input:not(:checked)" ) console.log(test); </script> </body> </html> |
结果:
9、odd选择器
匹配所有索引值为奇数的元素,从 0 开始计数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <table> <tr><td>Header 1</td></tr> <tr><td>Value 1</td></tr> <tr><td>Value 2</td></tr> </table> <script src= "jquery-2.2.3.js" ></script> <script> $( "tr:odd" ) </script> </body> </html> |
结果:
10、eq(index)选择器
匹配一个给定索引值的元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <table> <tr><td>Header 1</td></tr> <tr><td>Value 1</td></tr> <tr><td>Value 2</td></tr> </table> <script src= "jquery-2.2.3.js" ></script> <script> $( "tr:eq(1)" ) </script> </body> </html> |
结果:
11、gt(index)选择器
匹配所有大于给定索引值的元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <table> <tr><td>Header 1</td></tr> <tr><td>Value 1</td></tr> <tr><td>Value 2</td></tr> </table> <script src= "jquery-2.2.3.js" ></script> <script> $( "tr:gt(0)" ) </script> </body> </html> |
结果:
12、lt(index)选择器
匹配所有小于给定索引值的元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <table> <tr><td>Header 1</td></tr> <tr><td>Value 1</td></tr> <tr><td>Value 2</td></tr> </table> <script src= "jquery-2.2.3.js" ></script> <script> $( "tr:lt(2)" ) </script> </body> </html> |
结果:
13、[attribute]选择器
匹配包含给定属性的元素。注意,在jQuery 1.3中,前导的@符号已经被废除!如果想要兼容最新版本,只需要简单去掉@符号即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <div> <p>Hello!</p> </div> <div id= "test2" ></div> <script src= "jquery-2.2.3.js" ></script> <script> $( "div[id]" ) </script> </body> </html> |
结果:
14、 [attribute=value]选择器
匹配给定的属性是某个特定值的元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <input type= "checkbox" name= "newsletter" value= "Hot Fuzz" /> <input type= "checkbox" name= "newsletter" value= "Cold Fusion" /> <input type= "checkbox" name= "accept" value= "Evil Plans" /> <script src= "jquery-2.2.3.js" ></script> <script> $( "input[name='newsletter']" ).attr( "checked" , true ); </script> </body> </html> |
结果:
[ <input type="checkbox" name="newsletter" value="Hot Fuzz" checked="true" />, <input type="checkbox" name="newsletter" value="Cold Fusion" checked="true" /> ]
15、attribute!=value]选择器
匹配所有不含有指定的属性,或者属性不等于特定值的元素。
此选择器等价于 :not([attr=value]) 要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not([attr=value])。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <input type= "checkbox" name= "newsletter" value= "Hot Fuzz" /> <input type= "checkbox" name= "newsletter" value= "Cold Fusion" /> <input type= "checkbox" name= "accept" value= "Evil Plans" /> <script src= "jquery-2.2.3.js" ></script> <script> $( "input[name!='newsletter']" ).attr( "checked" , true ); </script> </body> </html> |
结果:
16、 [attribute^=value]选择器
匹配给定的属性是以某些值开始的元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <input name= "newsletter" /> <input name= "milkman" /> <input name= "newsboy" /> <script src= "jquery-2.2.3.js" ></script> <script> $( "input[name^='news']" ) </script> </body> </html> |
结果:
17、[attribute$=value]选择器
匹配给定的属性是以某些值结尾的元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <input name= "newsletter" /> <input name= "milkman" /> <input name= "jobletter" /> <script src= "jquery-2.2.3.js" ></script> <script> $( "input[name$='letter']" ) </script> </body> </html> |
结果:
18、[attribute*=value]选择器
匹配给定的属性是以包含某些值的元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <input name= "man-news" /> <input name= "milkman" /> <input name= "letterman2" /> <input name= "newmilk" /> <script src= "jquery-2.2.3.js" ></script> <script> $( "input[name*='man']" ) </script> </body> </html> |
结果:
jQuery属性
1、attr(name|pro|key,val|fn)属性
设置或返回被选元素的属性值。
1 2 3 4 5 6 7 8 9 10 | <script> //返回文档中所有图像的src属性值。 $( "img" ).attr( "src" ); //为所有图像设置src和alt属性。 $( "img" ).attr({ src: "test.jpg" , alt: "Test Image" }); //为所有图像设置src属性。 $( "img" ).attr( "src" , "test.jpg" ); //把src属性的值设置为title属性的值。 $( "img" ).attr( "title" , function () { return this .src }); </script> |
2、removeAttr(name)属性
从每一个匹配的元素中删除一个属性
1.6以下版本在IE6使用JQuery的removeAttr方法删除disabled是无效的。解决的方法就是使用$("XX").prop("disabled",false);
1.7版本在IE6下已支持删除disabled。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <img src= "test.jpg" /> <script src= "jquery-2.2.3.js" ></script> <script> //将文档中图像的src属性删除 $( "img" ).removeAttr( "src" ); </script> </body> </html> |
结果:
3、prop(name|properties|key,value|fn)属性
获取在匹配的元素集中的第一个元素的属性值。
随着一些内置属性的DOM元素或window对象,如果试图将删除该属性,浏览器可能会产生错误。jQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <script> //选中复选框为true,没选中为false $( "input[type='checkbox']" ).prop( "checked" ); //禁用页面上的所有复选框。 $( "input[type='checkbox']" ).prop({ disabled: true }); //禁用和选中所有页面上的复选框。 $( "input[type='checkbox']" ).prop( "disabled" , false ); $( "input[type='checkbox']" ).prop( "checked" , true ); //通过函数来设置所有页面上的复选框被选中。 $( "input[type='checkbox']" ).prop( "checked" , function ( i, val ) { return !val; }); </script> |
4、removeProp(name)属性
用来删除由.prop()方法设置的属性集
随着一些内置属性的DOM元素或window对象,如果试图将删除该属性,浏览器可能会产生错误。jQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <p> </p> <script src= "jquery-2.2.3.js" ></script> <script> var $para = $( "p" ); $para.prop( "luggageCode" , 1234); $para.append( "The secret luggage code is: " , String($para.prop( "luggageCode" )), ". " ); $para.removeProp( "luggageCode" ); $para.append( "Now the secret luggage code is: " , String($para.prop( "luggageCode" )), ". " ); </script> </body> </html> |
结果:
5、addClass(class|fn)属性
为每个匹配的元素添加指定的类名。
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 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <p> </p> <ul> <li>Hello</li> <li>Hello</li> <li>Hello</li> </ul> <script src= "jquery-2.2.3.js" ></script> <script> //为匹配的元素加上 'selected' 类 $( "p" ).addClass( "selected" ); $( "p" ).addClass( "selected1 selected2" ); //给li加上不同的class $( 'ul li:last' ).addClass( function () { return 'item-' + $( this ).index(); }); </script> </body> </html> |
6、removeClass([class|fn])属性
从所有匹配的元素中删除全部或者指定的类。
1 2 3 4 5 6 7 8 9 10 | <script> //从匹配的元素中删除 'selected' 类 $( "p" ).removeClass( "selected" ); //删除匹配元素的所有类 $( "p" ).removeClass(); //删除最后一个元素上与前面重复的class $( 'li:last' ).removeClass( function () { return $( this ).prev().attr( 'class' ); }); </script> |
7、html([val|fn])属性
取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。
在一个 HTML 文档中, 我们可以使用 .html() 方法来获取任意一个元素的内容。 如果选择器匹配多于一个的元素,那么只有第一个匹配元素的 HTML 内容会被获取。
1 2 3 4 5 6 7 8 9 10 | <script> //返回p元素的内容。 $( 'p' ).html(); //设置所有 p 元素的内容 $( "p" ).html( "Hello <b>world</b>!" ); //使用函数来设置所有匹配元素的内容。 $( "p" ).html( function (n){ return "这个 p 元素的 index 是:" + n; }); </script> |
8、 text([val|fn])属性
取得所有匹配元素的内容。
结果是由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。
1 2 3 4 5 6 7 8 9 10 | <script> //返回p元素的文本内容。 $( 'p' ).text(); //设置所有 p 元素的文本内容 $( "p" ).text( "Hello world!" ); //使用函数来设置所有匹配元素的文本内容。 $( "p" ).text( function (n){ return "这个 p 元素的 index 是:" + n; }); </script> |
9、val([val|fn|arr])属性
获得匹配元素的当前值。
在 jQuery 1.2 中,可以返回任意元素的值了。包括select。如果多选,将返回一个数组,其包含所选的值。
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 36 37 38 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <select id= "single" > <option>Single</option> <option>Single2</option> </select> <select id= "multiple" multiple= "multiple" > <option selected= "selected" >Multiple</option> <option>Multiple2</option> <option selected= "selected" >Multiple3</option> </select><br/> <input type= "checkbox" value= "check1" /> check1 <input type= "checkbox" value= "check2" /> check2 <input type= "radio" value= "radio1" /> radio1 <input type= "radio" value= "radio2" /> radio2 <script src= "jquery-2.2.3.js" ></script> <script> //获取文本框中的值 $( "input" ).val(); //设定文本框的值 $( "input" ).val( "hello world!" ); //设定文本框的值 $( 'input:text.items' ).val( function () { return this .value + ' ' + this .className; }); //设定一个select和一个多选的select的值 $( "#single" ).val( "Single2" ); $( "#multiple" ).val([ "Multiple2" , "Multiple3" ]); $( "input" ).val([ "check2" , "radio1" ]); </script> </body> </html> |
10、css(name|pro|[,val|fn])属性
访问匹配元素的样式属性。
jQuery 1.8中,当你使用CSS属性在css()或animate()中,我们将根据浏览器自动加上前缀(在适当的时候),比如("user-select", "none"); 在Chrome/Safari浏览器中我们将设置为"-webkit-user-select", Firefox会使用"-moz-user-select", IE10将使用"-ms-user-select".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <script> //取得第一个段落的color样式属性的值。 $( "p" ).css( "color" ); //将所有段落的字体颜色设为红色并且背景为蓝色。 $( "p" ).css({ "color" : "#ff0011" , "background" : "blue" }); //将所有段落字体设为红色 $( "p" ).css( "color" , "red" ); //逐渐增加div的大小 $( "div" ).click( function () { $( this ).css({ function (index, value) { return parseFloat(value) * 1.2; }, height: function (index, value) { return parseFloat(value) * 1.2; } }); }); </script> |
11、offset([coordinates])属性
获取匹配元素在当前视口的相对偏移。
返回的对象包含两个整型属性:top 和 left,以像素计。此方法只对可见元素有效。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <p>Hello</p><p>2nd Paragraph</p> <script src= "jquery-2.2.3.js" ></script> <script> //获取第二段的偏移 var p = $( "p:last" ); var offset = p.offset(); p.html( "left: " + offset.left + ", top: " + offset.top ); //获取第二段的偏移 $( "p:last" ).offset({ top: 10, left: 30 }); </script> </body> </html> |
12、position()属性
获取匹配元素相对父元素的偏移。
返回的对象包含两个整型属性:top 和 left。为精确计算结果,请在补白、边框和填充属性上使用像素单位。此方法只对可见元素有效。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <p>Hello</p><p>2nd Paragraph</p> <script src= "jquery-2.2.3.js" ></script> <script> //获取第一段的偏移 var p = $( "p:first" ); var position = p.position(); $( "p:last" ).html( "left: " + position.left + ", top: " + position.top ); </script> </body> </html> |
结果:
13、scrollTop([val])属性
获取匹配元素相对滚动条顶部的偏移。
此方法对可见和隐藏元素均有效。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <p>Hello</p><p>2nd Paragraph</p> <script src= "jquery-2.2.3.js" ></script> <script> //获取第一段相对滚动条顶部的偏移 var p = $( "p:first" ); $( "p:last" ).text( "scrollTop:" + p.scrollTop() ); //设置相对滚动条顶部的偏移 $( "div.demo" ).scrollTop(300); </script> </body> </html> |
14、heigh([val|fn])属性
取得匹配元素当前计算的高度值(px)。
在 jQuery 1.2 以后可以用来获取 window 和 document 的高
1 2 3 4 5 6 7 8 9 10 11 12 | <script> //获取第一段的高 $( "p" ).height(); //把所有段落的高设为 20: $( "p" ).height(20); //以 10 像素的幅度增加 p 元素的高度 $( "button" ).click( function (){ $( "p" ).height( function (n,c){ return c+10; }); }); </script> |
15、width([val|fn])属性
取得第一个匹配元素当前计算的宽度值(px)。
在 jQuery 1.2 以后可以用来获取 window 和 document 的宽
1 2 3 4 5 6 7 8 9 10 11 12 | <script> //获取第一段的宽 $( "p" ).width(); //把所有段落的宽设为 20: $( "p" ).width(20); //以 10 像素的幅度增加 p 元素的宽度 $( "button" ).click( function (){ $( "p" ).width( function (n,c){ return c+10; }); }); </script> |
16、innerHeight()属性
获取第一个匹配元素内部区域高度(包括补白、不包括边框)。
此方法对可见和隐藏元素均有效。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >Title</ title > </ head > < body > < p >Hello</ p >< p >2nd Paragraph</ p > < script src = "jquery-2.2.3.js" ></ script > < script > //获取第一段落内部区域高度。 var p = $("p:first"); $("p:last").text( "innerHeight:" + p.innerHeight() ); </ script > </ body > </ html > |
结果:
17、innerWidth()属性
获取第一个匹配元素内部区域宽度(包括补白、不包括边框)。
此方法对可见和隐藏元素均有效。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >Title</ title > </ head > < body > < p >Hello</ p >< p >2nd Paragraph</ p > < script src = "jquery-2.2.3.js" ></ script > < script > //获取第一段落内部区域宽度。 var p = $("p:first"); $("p:last").text( "innerWidth:" + p.innerWidth() ); </ script > </ body > </ html > |
结果:
18、outerHeight([soptions])属性
获取第一个匹配元素外部高度(默认包括补白和边框)。
此方法对可见和隐藏元素均有效。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >Title</ title > </ head > < body > < p >Hello</ p >< p >2nd Paragraph</ p > < script src = "jquery-2.2.3.js" ></ script > < script > //获取第一段落外部高度。 var p = $("p:first"); $("p:last").text( "outerHeight:" + p.outerHeight() + " , outerHeight(true):" + p.outerHeight(true) ); </ script > </ body > </ html > |
结果:
19、outerWidth([options])属性
获取第一个匹配元素外部宽度(默认包括补白和边框)。
此方法对可见和隐藏元素均有效。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >Title</ title > </ head > < body > < p >Hello</ p >< p >2nd Paragraph</ p > < script src = "jquery-2.2.3.js" ></ script > < script > //获取第一段落外部宽度。 var p = $("p:first"); $("p:last").text( "outerWidth:" + p.outerWidth() + " , outerWidth(true):" + p.outerWidth(true) ); </ script > </ body > </ html > |
结果:
jQuery文档处理
1、append(content|fn)
向每个匹配的元素内部追加内容。
这个操作与对指定的元素执行appendChild方法,将它们添加到文档中的情况类似。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >Title</ title > </ head > < body > < p >I would like to say: </ p > < script src = "jquery-2.2.3.js" ></ script > < script > //向所有段落中追加一些HTML标记。 $("p").append("< b >Hello</ b >"); </ script > </ body > </ html > |
结果:
2、appendTo(content)
把所有匹配的元素追加到另一个指定的元素元素集合中。
实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中。
在jQuery 1.3.2中,appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法成为一个破坏性操作,返回值是所有被追加的内容,而不仅仅是先前所选中的元素。所以,要选择先前选中的元素,需要使用end()方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >Title</ title > </ head > < body > < p >I would like to say: </ p > < div ></ div >< div ></ div > < script src = "jquery-2.2.3.js" ></ script > < script > //把所有段落追加到ID值为foo的元素中。 $("p").appendTo("div"); //新建段落追加div中并加上一个class $("< p />") .appendTo("div") .addClass("test") .end() .addClass("test2"); </ script > </ body > </ html > |
结果:
3、prepend(content|fn)
向每个匹配的元素内部前置内容。
这是向所有匹配元素内部的开始处插入内容的最佳方式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >Title</ title > </ head > < body > < p >I would like to say: </ p > < p >I would like to say: </ p > < b class = "foo" >Hello</ b > < b class = "foo" >Good Bye</ b > < script src = "jquery-2.2.3.js" ></ script > < script > //向所有段落中前置一些HTML标记代码。 $("p").prepend("< b >Hello</ b >"); //将一个DOM元素前置入所有段落 $("p").prepend( $(".foo")[0] ); //向所有段落中前置一个jQuery对象(类似于一个DOM元素数组)。 $("p").prepend( $("b") ); </ script > </ body > </ html > |
4、prependTo(content)
把所有匹配的元素前置到另一个、指定的元素元素集合中。
实际上,使用这个方法是颠倒了常规的$(A).prepend(B)的操作,即不是把B前置到A中,而是把A前置到B中。
在jQuery 1.3.2中,appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法成为一个破坏性操作,要选择先前选中的元素,需要使用end()方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >Title</ title > </ head > < body > < p >I would like to say: </ p >< div id = "foo" ></ div > < script src = "jquery-2.2.3.js" ></ script > < script > //把所有段落追加到ID值为foo的元素中。 $("p").prependTo("#foo"); </ script > </ body > </ html > |
结果:
5、after(content|fn)
在每个匹配的元素之后插入内容。