jQuery(不完整,待后续整理补充)

1.jQuery
  1.1 认识jQuery

      1.JavaScriptJavaScript

       1JavaScript的出现使得网页和用户之间实现了实时的、动态的和交互的关系,使网页包含更多活跃的元素和更多精彩的内容。

       23个弊端:复杂的文档对象模型(DOM),不一致的浏览器实现和缺乏便捷的开发、调试工具。

       3JavaScript库作用及对比

         库封装了很多预定义的对象和实用函数 

         Prototype

         Dojo 离线存储的API、生成图标的组件、基于SVG/VML的矢量图形库和Comet支持等等。  学习曲线陡、文档不齐全、API不稳定。

         YUIThe Yahoo!User Interface Library

         Ext JS 侧重于界面

         MooTools 是一套轻量、简洁、模块化和面性对象的JavaScript框架。 完全彻底的面向对象的编程,语法简洁直观,文档完善。

         jQuery 是一个轻量级的库,拥有强大的选择器,出色的DOM操作,可靠地事件处理,完善的兼容性和链式操作等。

  1.2加入jQuery

        1)简介

         团队主要包括:核心库、UI、插件等开发人员以及推广和设计维护人员。

        2)优势:(1)轻量级 大小不到30KMin版只有18K2)强大的选择器(3)出色的DOM操作的封装(4)可靠的事件处理机制(5)完善的Ajax jQuery将所有的Ajax操作封装到$.ajax()里(6)不污染顶级变量 jQuery只建立一个名为jQuery的对象,其所有的函数方法都在这个对象之下。其别名$也可以随时交出控制权,绝对不会污染其他的对象(7)出色的浏览器兼容性(8)链式操作方式 即对发生在一个jQuery对象上的一组动作,可以直接连接写而无需重复获取对象(9)隐式迭代(10)行为层和结构层的分离(11)丰富的插件支持(12)完善的文档(13)开源

  1.3.jQuery代码的编写

        1)配置jQuery环境

          1)获取jQuery 官方网站http://jquery.com/

          2)环境配置 只需放到公共的位置,使用时只需在相关的HTML文档中引入该库文件的位置即可。

          3)在页面中引入jQuery 在编写的页面代码中<head>标签内引入jQuery

<html>

     <head>

           <script src=”../scripts/jquery-1.3.1.js” type=”text/javascript”></script>

     </head>

     <body>

     </body>

</html>

           4)编写简单的jQuery代码

<script type=”text/script”>

     $(document).ready(function(){alert(“Hello Word!”);});

</script>

 

         4)$(“.has_children”).click(function(){

                $(this).addClass(“highlight”)       //为当前元素增加highlight

                  .children(“a”).show()             //将子节点的<a>元素显示出来并重新                       

                       .end()                         //定位到上次操作的元素

                     .siblings()                      //获取元素的兄弟元素

                  .removeClass(“highlight”)         //并去掉他们的highlight

                 .children(“a”).hide();             //将兄弟元素下的<a>元素隐藏

           });

当鼠标单击到class中含有has_children元素的同辈元素都去调一个名为highlightclass,然后将其内部的<a>紫云苏都显示出来,并且被单击的class中含有has_children元素的同辈元素都去掉一个名为highlightclass,同时同辈元素内部的<a>子元素全部隐藏。

    window.onload与$(document).ready()的对比

     5)注释

      //在一个idtabletbody中,如果最后一列中的checkbox没有被禁用,则把

      //这行的背景设为红色

      $(“#table>tbody>tr:has(td:last:has(:checkbox:enable))”).css(“background”,”red”);

  1.4.jQuery对象和DOM对象

     1DOMDocument Object Model,文档对象模型),每一份DOM都可以表示成一棵树。

     Var domObj  = document.getElementById(“id”);//获取DOM对象

     Var objHTML = domObj.innerHTML;      //使用JavaScript中的方法-innerHTML

     2)jQuery对象 就是通过jQuery包装DOM对象后产生的对象。 

   $(“#foo”).html();//获取idfoo的元素内的HTML代码.html()是jQuery里的方法

   等同于 document.getElementById(“foo”).innerHTML;

   注意  #id作为选择符取得的是jQuery对象儿并非document.getElementById(“id”)所得到的DOM对象,两者并不等价。

  1.5.jQuery对象和DOM对象的相互转换

     Var $variable = jQuery对象; 如果获取的对象是jQuery对象,那么在变量前加上$

     Var variable  = DOM对象;

     1jQuery对象转成DOM对象

      jQuery对象是一个数组织对象,可以通过[index]的方法得到相应的DOM对象  

      var $cr = $(“#cr”);    //jQuery对象

      Var cr = $cr[0];       //DOM对象

      Var cr = $cr.get(0);    //jQuery本身提供的get(index)方法

     2DOM对象转换成jQuery对象

      Var cr = document.getElementById(“cr”);//DOM对象

      Var $cr = $(cr);                     //jQuery对象

<input type=”checkbox” id=”cr”/><label for=”cr”>我已经阅读了上面制度</label>

$(document).ready(function(){   //等待DOM元素加载完毕

Var $cr = $(“#cr”);         //jQuery对象

Var cr  = $cr[0];          //DOM对象,或者$cr.get(0)

$cr.click(function(){

If(cr.checked){        //DOM方式判断

Alert(“感谢您的支持,你可以继续操作!);

}

})

})

$(document).ready(function(){         //等待DOM元素加载完毕

Var $cr = $(“#cr”);               //jQuery对象

$cr.click(function(){

If($cr.is(“:checked”)){    //DOM方式判断

Alert(“感谢您的支持,你可以继续操作!);

}

})

})

  1.6.Dreamweaver

      安装自动提示功能:命令-->扩展管理-->安装扩展-->jQuery_API.mxp

               重启新建空白页面引入jQuery

   1.7.Aptana  一个功能非常强大的、开源和专注JavaScriptAjax开发IDE

特性:

    提供JavaScriptJavaScript函数、HTMLCSS语言的Code Assist功能

    显示JavaScriptHTMLCSS的代码结构

    支持JavaScriptHTMLCSS代码提示,包括JavaScript自定义函数

    代码语法错误提示

    支持Aptana UI =自定义和扩展

    支持跨平台

    支持FTP/SFTP

    调试JavaScript

    支持流行Ajax框架的Code  Assist功能,包括AFLAXDojojQueryMochiKitPrototypeRicoscript.aculo.usYahoo UIExt

    通过插件扩展后则可以作为Adobe AIR iPhoneNakia等的开发工具

    提供了Eclipse插件。

                        2.jQuery选择器

  2.1 jQuery选择器是什么

        1.CSS选择器  常用的CSS选择器

  标签选择器  E{CSS规则}  以文档元素作为选择符               td{font-size:14px;}

  ID选择器 #ID{CSS规则}  以文档元素的唯一标识符ID作为选择符 #note{width:1px;}

  类选择器 E.className{CSS规则}   以文档的class作为选择符 div.note{font-size:1px;}

                                                            .dream{font-size:1px;}

  群组选择器E1,E2,E3{CSS规则}多个选择符应用同样的样式规则 td,p,div,a{font-size:1px;}

  后代选择器 E  F{CSS规则}  元素E的任意后代元素F           #links a{color:red;}

  通配选择符     *{CSS规则}   以文档的所有元素作为选择符       *{font-size:1px;}

 伪类选择器(E:Pseudo-Elements{CssRules})、子选择器(E > F{CssRules})

 临近选择器(E+F{CssRules})、属性选择器(E[attr] {CssRules})

<style>

       .demo{

              Color : red;

        Font-size : 30px;

}

</style>

<p class=”demo”> CSS  Demo. </p>

 

<p οnclick=”demo();”>点击我.</p>

<script type=”text/javascript”>               <p class=”demo”>jQuery Demo</p>

       Function demo(){                      <script type=”text/javascript”>

              Alert(‘JavaScript demo.’);                $(“.demo”).click(function(){

}                                              alert(“jQuery Demo”);

                                          })

</script>                                 </script>

  2.2jQuery选择器的优势

       1.简洁的写法 $()函数

        $(“#ID”)用来代替document.getElementById()函数,即通过ID获取元素

        $(“tagName”)用来代替document.getElementsByTagName()函数

       2.完善的处理机制

        <div>test</div>                                      <div>test</div>

        <script type=”text/javascript”>                     <script type=”text/javascript”>

         If(document.getElementById(“tt”)){                  $(‘#tt’).css(“color”,”red ”);

          Document.getElementById(“tt”).style.color=”red”;   </script>

}                                            

        </script>

     注意$(‘#tt’)获取的永远是对象,即使页面上没有此元素。 因此当要用jQuery检查某个元素在网页上是否存在时,应该根据获取到元素的长度判断,代码如下:

If($(‘#tt’).length>0){do something}或者转化成DOM对象来判断if($(‘#tt’)[0]){do something}

  2.3jQuery选择器

    1:给网页中的所有<p>元素添加onclick事件

  1. JavaScript代码如下:

Var items = document.getElementsByTagName(p); //获取网页中所有的p元素

For(var I = 0;i<items.length;i++){  //由于获取到的是数组对象,因此需要把它循环出来

   Items[i].onclick = function(){do something}  //给每个对象添加onclick事件

}

jQuery:

$("p").click(function(){do something})

2:使一个特定的表格隔行变色

 HTML代码如下:

<table id = “tb”>

 <tbody>

     <tr><td>第一行</td<td>第一行</td>></tr>

   <tr><td>第二行</td<td>第二行</td>></tr>

   <tr><td>第三行</td<td>第三行</td>></tr>

 </tbody>

</table>

     javaScript代码如下:

     var item = document.getElementById(“td”);//获取idtb的元素(table

     var tbody = item.getElementsByTagName(“tbody”)[0];//获取表格的第1tbody元素

var trs = tbody.getElementsByTagName(“tr”);//获取tbody元素下的所有tr元素

for(var I = 0;i<trs.length;i++){

  if(i%2==0){

  trs[i].style.backgroundColor = “#888”;

}

}

jQuery:

$('#td tbody tr:even').css("backgroundColor","#888")

3:对多选框进行操作,输出选中的多选框的个数

HTML代码如下:

<input type=”checkbox” value=”1” name=”check” checked/>

<input type=”checkbox” value=”2” name=”check” />

    <input type=”checkbox” value=”3” name=”check” checked/>

<input type=”button” value=”你选中的个数” id=”btn”/>

JavaScript代码如下:

Var btn = ddocument.getElementById(“btn”);//获取idbtn的元素(button

Btn.onclick = function(){

       Var arrays = new Array();

       Var items = document.getElementsByName(“check”);

    For(I = 0;i<items.length;i++){

       If(items[i].checked){

              Arrays.push(items[i].value);//push()是JavaScript数组中的方法

}

}

Alert(“选中的个数为:”+arrays.length);

}

jQuery:

$('#btn').click(function(){

    var length = $("input[name='check']:checked").length;

    alert("选中的个数:"+length);

})

jQuery选择器分为基本选择器、层次选择器、过滤选择器和表单选择器

  2.3.1基本选择器  通过元素idclass和标签名等来查找DOM元素

  #id 根据给定的id匹配一个元素 单个元素 $(“#test”)选取idtest的元素

  .class 根据给定的类名匹配元素 集合元素 $(“.test”)选取所有classtest的元素

  Element 根据给定的元素名匹配元素 集合元素 $(“p”)选取所有的<p>元素

 *  匹配所有元素          集合元素   $(“*”)选取所有的 元素

 Selector1, Selector2, …,将每一个选择器匹配到的元素合并后一起返回集合元素$(“div,span,p.myClass”)选取所有<div>,<span>和拥有classmyClass<p>标签的一组元素

改变idone的元素的背景颜色 $(‘#one’).css(“background”,”#bbffaa”);

改变classmini的所有元素的背景颜色 $(‘.mini’).css(“background”,”#bbffaa”);

改变元素名是<div>的所有元素的背景颜色$(‘div’).css(“background”,”#bbffaa”);

改变所有元素的背景色$(‘*’).css(“background”,”#bbffaa”);                   

 改变<span>idtwo的元素的背景色$(‘span,#two’).css(“bacckground”,”#bbffaa”);

   2.3.2层次选择器  获取后代元素、子元素、相邻元素和兄弟元素等

     $(“ancestor descendant”) 选取ancestor元素里的所有descendant(后代)元素 集合元素 $(“div span”)选取div里的所有的<span>元素

     $(“parent > child”) 选取parent元素下的child(子)元素,与$(“ancestor descendant”)有区别,$(“ancestor descendant”)选择的是后代元素 集合元素 $(‘div > span’)选取<div>元素下元素名是<span>的子元素

     $(‘prev + next’)选取紧接在prev元素后的next元素 集合元素 $(‘.one + div’)选取classone的下一个<div>元素

     $(‘prev ~ siblings’)选取prev元素之后的所有siblings元素 集合元素 $(‘#two~div’)选取idtwo的元素后面的所有<div>兄弟元素

     改变<body>内所有<div>的背景色$(‘body div’).css(“background”,”#bbffaa”);

     $(‘prev + next’)选择器等价于next()方法

     $(“.one + div”)   ====   $(“.one”).next(“div”);

     $(‘prev~siblings’)选择器与nextAll()方法的等价关系

     $(“#prev~div”)   ====   $(“#prev”).nextAll(“div”)

   $(“#prev~div”)选择器只能选择”#prev”元素后面的同辈<div>元素。而siblings()方法与前后位置无关,只要是同辈节点就能匹配。

   2.3.3过滤选择器  基本过滤、内容过滤、可见性过滤、属性过滤、子元素过滤和表单对象过滤

     1.基本过滤选择器

     :first 选取第一个元素 单个元素 $(“div:first”)选取所有<div>元素中第一个<div>元素

     :last  选取最后一个元素

     :not(selector)去除所有与给定选择器匹配的元素 集合元素 $(“input:not(.myClass)”)选取class不是myClass<input>元素

     :even 选取索引是偶数的所有元素,索引从0开始集合元素

     :odd  选取索引是奇数的所有元素

     :eq(index) 选取索引等于index的元素(index0开始单个元素 $(“input:eq(1)”)

     :gt(index) 选取索引大于index的元素  集合元素 $(“input:gt(1)”) 注:大于1不包括1

     :lt(index)  选取索引小于index的元素

     :header 选取所有的标题元素,例如h1h2等 集合元素

     :animated 选取当前正在执行动画的所有元素 集合元素 $(“div:animated”)选取正在执行动画的<div>元素

2.内容过滤选择器

 :contains(text)选取含有文本内容为“text”的元素 集合元素 $(“div:contains(‘’)”)

 :empty  选取不包含子元素或者文本的空元素  集合元素 $(“div:empty”)

 :has(selector) 选取含有选择器所匹配的元素的元素 集合元素 $(“div:has(p)”)选取含有<p>元素的<div>元素

 :parent 选取含有子云阿苏或者文本的元素 集合元素 $(“div:parent”)选取拥有子元素(包含文本元素)的<div>元素

3.可见性过滤选择器

 :hidden 选取所有不可见的元素  集合元素 $(“:hidden”)

 :visible 选取所有可见的元素  集合元素 $(“div:visible”)

4.属性过滤选择器

 [attribute] 选取拥有此属性的元素 集合元素 $(“div[id]”)选取拥有属性id的元素

 [attribute=value]选取属性的值为value的元素 $(“div[title!=test]”)选取属性title不等于“test”的<div>元素(注:没有属性title<div>元素也会被选取)

 [attribute^=value]选取属性的值以value开始的值 集合元素 $(“div[title^=test]”)选取属性title以“test”开始的<div>元素

 [attribute*=value]选取属性的值以value结束的元素 $(“div[title*=test]”)

 [selector1] [selector2] [selectorN]用属性选择起合并成一个复合属性选择器,满足多个条件。每选择一次,缩小一次范围$(“div[id][title*=’test’]”)选取拥有属性id,并且属性titletest结束的<div>元素

5.子元素过滤选择器

      :nth-child(index/even/odd/equation)选取每个父元素下的第index个子元素或者奇偶元素.(index1开始集合元素 :eq(index)只匹配一个元素,而:nth-child将为每一个父元素匹配子元素,并且:nth-child(index)indexindex是从1开始的,而:eq(index)是从0算起的

      :first-child 选取每个父元素的第一个子元素 集合元素 :first只返回单个元素,而:first-child选择符将为每个父元素匹配第一个子元素 $(“ul li:first-child”);选取每个<ul>中第一个<li>元素

      :last-child 选取每个父元素的最后一个元素

      :only-child 如果某一个元素师它父元素中中唯一的子元素,那么将会配匹配。如果父元素中含有其他元素,则不会被匹配 集合元素

$(“ul li:only-child”)<ul>中选取是唯一子元素的<li>元素

    示例:$('div.one:nth-child(2)').css("background","#bbffaa");

    注意:eq(index)只匹配一个元素,而:nth-child将为每一个符合条件的父元素匹配子元素,同时应该注意到nth-child(index)的index是从1开始的,而eq(index)是从0开始的,

同理:first和:first-child,:last和last-child也类似。

     6.表单对象属性选择器

     :enabled 选取所有可用的元素 集合元素 $("#form1:enabled");选取id为form1的表单内的所有可用元素

     :disabled 选取所有不可用元素 集合元素 $("#form2:disabled");选取id为form2的表单内的所有不可用的元素

     :checked 选取所有被选中的元素(单选框,复选框) 集合元素 $("input:checked");选取所有被选中的<input>元素

     :selected 选取所有被选中的选项元素(下拉列表) 集合元素 $("select:selected");选取所有被选中的选项元素

   2.3.4表单选择器

    :input 选取所有的<input>、<textarea>、<select>、<button>元素 集合元素 $(":input")选取所有的<input>、<textarea>、<select>、<button>元素

    :text 选取所有的单行文本框 集合元素 $(":text")选取所有的单行文本框

    :passwoord 选取所有的密码框 集合元素 $(":password");

    :radio 选取所有的单选框

    :checkbox 选取所有的复选框

    :submit 选取所有的提交按钮

    :image 选取所有的图像按钮

    :reset 选取所有的重置按钮

    :button 选取所有的按钮

    :file 选取所有的上传域

    :hidden 选取所有不可见元素

2.4应用jQuery改写示例

   例1:给网页中所有的<p>元素添加onclick事件

        $("p").click(function(){//获取页面中所有的<p>元素,给每一个元素添加onclick事件

             //doing something

        })

    例2:使一个特定的表格隔行变色

        $('#tb tbody tr:even').css("backgroundColor","#888");//获取id为tb的元素,然后寻找它下面的tbody标签,在寻找tbody下索引值是偶数的tr元素;改变它的背景色

    例3:对多选框进行操作,输出选中的多选框的个数

        $('#btn').click(function(){

             var length = $("input[name='check']:checked").length;

             //先使用属性选择器,然后用表单对象属性过滤,最后获取jQuery对象的长度

             alert("选中的个数为:"+length);

        });

2.5选择其中的一些注意事项

  2.5.1选择器中含有特殊符号的注意事项

    1.选择器中含有· # ( ]等特殊字符 需要转义

      例:$('#id\\#b');   //转移特殊字符#

          $('#id\\[1\\]');//转义特殊字符[]

     2.属性选择器的引号问题

      1.1.0版本 $('div[@title="test"]');

      1.3.1之后 $('div[title="test"]'); //去掉了@符号

  2.5.2选择器中含有空格的注意事项

     例:<div class="test">

            <div style="display:none;">aa</div>

            <div style="display:none;">bb</div>

            <div style="display:none;">cc</div>

            <div class="test" style="display:none;">cc</div> 

         </div>

         <div class="test" style="display:none;">ee</div>

         <div class="test" style="display:none;">ff</div> 

      var $t_a = $('.test :hidden');//带空格的jQuery选择器 选取class为test的元素里面的隐藏元素

      var $t_b = $('.test:hidden'); //不带空格的jQuery选择器 选取隐藏的class为test的元素

      var len_a = $t_a.length;   //4

      var len_b = $t_b.length;   //3

                    3.jQuery中的DOM操作

3.1 DOM操作的分类 一般来说DOM操作分为3个方面:DOM Core(核心)、HTML-DOM和CSS-DOM

   1.DOM Core

     JavaScript中getElementById()、getElementsByTagName()、getAttribute()和setAttribute()等方法都是DOM Core的组成部分。

     例: 使用DOM Core来获取表单对象的方法

              document.getElementsByTagName("form");

          使用DOM Core来获取某元素的src属性的方法

              element.getAttribute("src");

   2.HTML-DOM

     例: 使用HTML-DOM来获取表单对象的方法

              document.forms;//HTML-DOM提供了一个forms对象

          使用HTML-DOM来获取某元素的src属性的方法

              element.src;

   HTML-DOM和DOM Core相比较而言,HTML-DOM的代码通常比较简单,不过它只能用来处理Web文档

    3.CSS-DOM  针对CSS的操作

     主要作用是获取和设置style对象的各种属性。通过改变style对象的各种属性,可以使网页呈现出各种不同的效果。

     例: 设置元素style对象字体颜色的方法

          element.style.color = "red";

3.2 jQuery中的DOM操作

 3.2.1查找节点

  1.查找元素节点

    获取元素节点并打印出它的文本内容,jQuery代码如下:

    var $li = $("ul li:eq(1)");  //获取<ul>里第二个<li>节点

    var li_text = $li.text();    //获取第二个<li>元素节点的文本内容

    alert(li_text );            //打印文本内容

  2.查找属性节点

    利用jQuery选择器查找到需要的元素之后,就可以使用attr()方法来获取它的各种属性的值。attr()方法的参数可以是一个,也可是两个。当参数是一个时,则是要查询的属性的名字,例:

    获取属性节点并打印出它的内容

    var $para = $("p");             //获取<p>节点

    var p_txt = $para.attr("title");//获取<p>元素节点属性title

    alert(p_txt);                   //打印title属性值

 3.2.2创建节点

  1.创建元素节点

    例:创建两个<li>元素节点,并且要把它们作为<ul>元素节点的子节点添加到DOM节点树上。

        (1)创建两个<li>新元素

        (2)将这两个元素插入文档中

       第(1)个步骤可以使用jQuery的工厂函数$()来完成,格式为:$(html);

       $(html)方法会根据传入的HTML标记字符串,创建一个DOM对象,并将这个DOM对象包装成一个jQuery对象后返回。

       首先创建两个<li>元素:

         var $li_1 = $("<li></li>");

         var $li_2 = $("<li></li>");

       然后将这两个新元素插入到文档中,可以使用jQuery中的append()等方法

         $("ul").append($li_1);

         $("ul").append($li_2);

         可以采取链式写法:$("ul").append($li_1).append($li_2);

       注意:(1)动态创建的新元素节点不会被自动添加到文档中,而是需要使用其他方法将其插入文档中。(2)当创建单个元素时,要注意闭合标签和使用标准的XHTML格式。

   2.创建文本节点

     var $li_1 = $("<li>香蕉</li>");  //创建一个<li>元素,包括元素节点和文本节点

                                      //“香蕉”就是创建的文本节点

     var $li_2 = $("<li>雪梨</li>");  //创建一个<li>元素,包括元素节点和文本节点

                                      //“雪梨”就是创建的文本节点

     $("ul").append($li_1);

     $("ul").append($li_2);

     注意:无论$(html)中的HTML代码多么复杂,都要使用相同的方式来创建

           例如$("<li><em>这是</em><b>一个</b><a href='#'>复杂的组合</a></li>");

   3.创建属性节点

    var $li_1 = $("<li title='香蕉'>香蕉</li>");//创建一个<li>元素

                                                //包括元素节点、文本节点和属性节点

                                                //title='香蕉'就是创建的属性节点

    $("ul").append($li_1);

 3.2.3插入节点

  插入节点的方法:

  append()  向每个匹配的元素内部追加内容   <p>我想说:</p>

                                           $("p").append("<b>你好</b>");

                                           结果:<p>我想说:<b>你好</b></p>

  appendTo()将所有匹配的元素追加到指定的   <p>我想说:</p>

            元素中。实际上,使用该方法是   $("<b>你好</b>").appendTo("p");

            颠倒了常规的$(A).append(B)的   结果:<p>我想说:<b>你好</b></p>

            操作,而不是将B追加到A中,而

            是将A追加到B中

  prepend() 向每个匹配的元素内部前置内容   <p>我想说:</p>

                                           $("p").prepend("<b>你好</b>");

                                           结果:<p><b>你好</b>我想说:</p>

  prependTo()将所有匹配的元素追加到指定的   <p>我想说:</p>

             元素中。实际上,使用该方法是   $("<b>你好</b>").appendTo("p");

             颠倒了常规的$(A).prepend(B)的   结果:<p>我想说:<b>你好</b></p>

             操作,而不是将B追加到A中,而

             是将A追加到B中

  after()    在每个匹配的元素之后插入内容   <p>我想说:</p>

                                            $("p").after("<b>你好</b>")

                                            结果:<p>我想说:</p><b>你好</b>

  insertAfter()将所有匹配的元素插入到指定   

              元素的后面。实际上,使用方法

              是颠倒了常规的$(A).after(B)

              的操作,即不是将B插入到A后面,

              而是将A插入到B后面    

  before()   在每个匹配的元素之前插入内容   <p>我想说:</p>

                                            $("p").before("<b>你好</b>");

                                            结果: <b>你好</b><p>我想说:</p> 

  insertBefore()将所有匹配的元素插入到指定

              的元素的前面     

 3.2.4 删除节点

  1.remove()方法 作用是从DOM中删除所有匹配的元素,传入的参数用于根据jQuery表达式来筛选元素。

    $("ul li:eq(1)").remove();//获取第二个<li>元素节点后,将它从网页中删除

    当某个节点用remove()方法删除后,该节点所包含的所哟偶后代节点将同时被删除。这个方法返回的返回值是一个指向已被删除的节点的引用,因此可以在以后使用这些元素。

    var $li = $("ul li:eq(1)").remove(); //获取第二个<li>元素节点后,将他从网页中删除

    $li.appendTo("ul");                  //把刚才删除的节点又重新添加到<ul>元素里

    $("ul li:eq(1)").appendTo("ul");//appendTo()方法也可以用来移动元素,移动元素时首先从文档上删除此元素,然后将该元素插入得到文档中的指定节点。

    $("ul li").remove("li[title!=菠萝]");//将<li>元素中属性title不等于“菠萝”的<li>元素删除。

  2.empty()方法  严格来讲,empty()方法并不是删除节点,而是清空节点,它能清空元素中的所有后代节点

    $("ul li:eq(1)").empty();//获取第二个<li>元素节点后,清空此元素里的内容,注意是元素里

 3.2.5复制节点

  $("ul li").click(function(){

       $(this).clone().appendTo("ul");//复制当前单击的节点,并将它追加到<ul>元素中

  })

   在clone()方法中传递了一个参数true,它的含义是复制元素的同时复制元素中所绑定的事件。因此该元素的副本也同样具有复制功能。

 3.2.6 替换节点

  replaceWith()方法和replaceAll()方法。

   $("p").replaceWith("<strong>你最不喜欢的水果是?</strong>");

   $("<strong>你最不喜欢的水果是?</strong>").replaceAll("p");

 3.2.7 包裹节点

  wrap()方法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值