当前位置: 移动技术网 > IT编程>开发语言>JavaScript > jQuery知识回顾二(详细版)——2020.07.10

jQuery知识回顾二(详细版)——2020.07.10

2020年07月14日  | 移动技术网IT编程  | 我要评论
一、jQuery中的DOM操作DOM(DocumentObjectModel——文档对象模型):一种与浏览器,平台,语言无关的接口,使用该接口可以轻松的访问野蛮中所有的标准组件。DOM操作的分类:——DOMCore:DOMCore并不专属于JavaScript,如何一种支持DOM的程序设计语言都可以使用它,它的用途并非仅限于处理网页,也可以用来处理任何一种是用标记语言编写出来的文档,例如:XML。——HTMLDOM:使用JavaScript和DOM为HTML文件编写脚本时,有许多专...

一、jQuery中的DOM操作

DOM(Document Object Model——文档对象模型):一种与浏览器,平台,语言无关的接口,使用该接口可以轻松的访问野蛮中所有的标准组件。

DOM操作的分类:

——DOM Core:DOM Core并不专属于JavaScript,如何一种支持DOM的程序设计语言都可以使用它,它的用途并非仅限于处理网页,也可以用来处理任何一种是用标记语言编写出来的文档,例如:XML。

——HTML DOM:使用JavaScript和DOM为HTML文件编写脚本时,有许多专属于HTML-DOM的属性。

——CSS-DOM:针对于CSS操作,在JavaScript中,CSS-DOM主要用于获取和设置style对象的各种属性。

1、查找节点

——查找属性节点:通过jQuery选择器完成。

——操作属性节点:查找到所需元素后,可以调用jQuer对象的attr()方法来获取它的各种属性值。

——操作文本节点:通过text()方法。

2、创建节点:

使用jQuery的工厂函数 $():$(html);会根据传入的html标记字符串创建一个DOM对象,并把这个DOM对象包装成一个jQuery对象返回。

注意:

——动态创建的新元素节点不会被自动添加到文档中,而是需要使用其他的方法将其插入到文档中;

——当创建单个元素时,需注意闭合标签和使用标签的XHTML格式。例如创建一个<p>元素,可以使用$("<p/>")或$("<p></p>"),但不能使用$("<p>")或$("<P>")。

创建文本节点就是在创建元素节点时直接把文本内容写出来;创建属性节点也是在创建元素节点时一起创建。

3、插入节点(1)

动态创建HTML元素并没有实际用处,还需要将新创建的节点插入到文档中,即成为文档中某个节点的子节点。

方法

描述

append() 向每个匹配的元素的内容的结尾处追加内容
appendTo() 将每个匹配的元素追加到指定的元素中的内容的结尾处
prepend() 向每个匹配元素的内容的开始处插入内容
prependTo() 向每个匹配的元素插入到指定的元素内部的开始处

4、删除节点

remove():从DOM中删除所有匹配的元素,传入的参数用于根据jQuery表达式来筛选元素。当某个节点用 remove() 方法删除后,该节点所包含的所有后代节点将被同时删除,这个方法的返回值是一个指向已被删除的节点的引用。

empty():清空节点—清空元素中的所有后代节点(不包括属性节点)。

5、替换节点

replaceWith():将所有匹配的元素都替换为指定的HTML元素或者DOM元素。

replaceAll():颠倒了的replaceWith()方法。

注意:若在替换之前,已经在元素上绑定了事件,替换后原先绑定的时间会与原先的元素一起消失。

6、复制节点

clone():克隆匹配的DOM元素,返回值为克隆后的副本,但此时复制的新节点不具有任何行为。

clone(true):复制元素的同时也复制元素中的事件。

7、包裹节点

wrap():将指定节点用其他标记包裹起来,该方法对于需要在文档中插入额外的结构化标记非常有用,而且不会破坏原始文档的语义。

wrapAll():将所有匹配的元素用一个元素来包裹,而wrap()方法是将所有的元素进行单独包裹。

wrapInner():将每一个匹配的元素的子内容(包括文本节点)用其他结构化标记包裹起来。

二、属性操作

attr():获取属性和设置属性

        —当为该方法传递一个参数时,即为某元素的获取指定属性

        —当为该方法传递两个参数时,即为某元素设置指定属性的值

jQuery值有很多方法都是一个函数实现获取和设置,例如:attr()、html()、text()、val()、height()、width()、css()等。

removeAttr():删除指定元素的指定属性。

1、设置和获取HTML,文本和值

①读取和设置某个元素中的HTML内容:html()。该方法可以用于XHTML,但不能用于XML文档。

②读取和设置某个元素中的文本内容:text()。该方法既可以用于XHTML也可以用于XML文档。

③读取和设置某个元素中的值:val()。该方法类似JavaScript中的value属性,对于文本框,下拉列表框,单选框该方法可以返回元素的值(多选框只能返回第一个值)。如果为多选下拉列表框,则返回一个包含所有选择值的数组。

小结:

1.使用jQuery进行DOM操作

1)新建(元素、属性、文本)节点:直接使用$()包装即可,返回值是一个jQuery对象
    var $zouziwei = $("<li id='zouziwei'>zouziwei</li>"); 
    
2)把节点插入到文档中:
    -append、appendTo:把节点zouziwei插入为节点city的最后一个子节点
        $("<li id='zouziwei'>zouziwei</li>").appendTo($("#city"));
        $("#city").append("<li id='zouziwei'>zouziwei</li>");
        
    -prepend、prependTo:
        $("<li id='zouziwei'>zouziwei</li>").prependTo($("#city"));
        $("#city").prepend("<li id='zouziwei'>zouziwei</li>");
        
    -before、insertBefore:
        $("<li id='zouziwei'>zouziwei</li>").insertBefore($("#bj"));
        $("#bj").before("<li id='zouziwei'>-zouziwei-</li>");
    
    -after、insertAfter:
        $("<li id='zouziwei'>zouziwei</li>").insertAfter($("#bj"));
        $("#bj").after("<li id='zouziwei'>-zouziwei-</li>");
        
3).删除节点:
    $("#bj").remove();
    
4).清空节点:
    $("#game").empty();
    
5).克隆节点:
    $("#bj").clone(true)
            .attr("id", "bj2")
            .insertAfter($("#rl"));
        
6).替换节点:
    //1.创建一个<li>zouziwei</li>,替换#city的最后一个li子节点
    $("<li>zouziwei</li>").replaceAll("#city li:last");
    
    //2.创建一个<li>-zouziwei-</li>节点
    //替换#city的第二个li子节点
    $("#city li:eq(1)").replaceWith($("<li>-zouziwei-</li>"));
    
    //3.互换#rl和#bj,#rl和#bj还有移动的功能
    //$("#bj").replaceWith($("#rl"));
    //节点的互换需要先克隆节点
    alert(1);
    var $bj2 = $("#bj").clone(true);
    var $rl = $("#rl").replaceWith($bj2);
    
    alert(2);
    $("#bj").replaceWith($rl);
    
7).wrap,wrapAll,wrapInner:了解    

8).val()、html()、attr()、width()、height()等兼具有读写的方法
        //读取某个节点的html内容
        alert($("#city").html());
        $("#city").html("<li id='dj'>zouziwei</li>");
        //设置某个节点的html内容
        $("#city").html("<li>zouziwei</li>");
        

2.技术点之外:
1).jQuery对象可以进行隐式迭代:$("p").click(function(){...});
        为选取的所有的p节点都添加了click响应函数  jQuery对象本身就是一个DOM对象的数组
        
2).在jQuery中显示迭代:使用each()方法

3).在响应函数中,this是一个DOM对象,若想使用jQuery对象的方法,需要把其包装成为jQuery对象:
    使用$()把this包装起来

4).defaultValue:DOM对象的属性,可以获取表单元素的默认值

5).通过val()为radio赋值:val参数中也应该使用数组,使用一个值不起作用

6).val()不能直接获取checkbox被选中的值,若直接获取只能得到第一个被选择的值,
        因为$(":checkbox[name='c']:checked").val()得到的是一个数组,而使用val()方法只能获取数组元素的第一个值
        若希望打印被选择的所有值,需要使用each遍历
        alert($(":checkbox[name='c']:checked").val());
    
7).//1.同JS的响应函数一样,jQuery对象的响应函数若返回false,可取消指定元素的默认行为
    //比如submit、a等
    //2.val()方法,相当于attr("value"),获取表单元素的value属性值
    //3.$.trim(str):可以去除str的前后空格
    //4.jQuery对象的方法的连缀:调用一个方法的返回值还是调用的对象,
            //于是可以在调用方法之后依然调用先前的那个对象的其他方法
            
8).$.trim(str):可以去除str前后空格

9).jQuery对象的方法的连缀:调用一个方法的返回值还是调用的对象,于是可以在调用的方法后面依然调用先前的那个对象的其他方法
        $("#addEmpButton").click(function(){
            $("<tr></tr>").append("<td>" + $("#name").val() + "</td>")
                           .append("<td>" + $("#email").val() + "</td>")
                          .append("<td>" + $("#salary").val() + "</td>")
                          .append("<td><a href='deleteEmp?id=xxx'>Delete</a></td>")
                          .appendTo("#employeetable tbody")
                          .find("a")
                          .click(function(){
                              return removeTr(this);
                          });
        });
        
10).find():查找子节点,返回值为子节点对应的jQuery对象
        //获取$tr的第一个td节点的文本节点的文本值
        var $trNode = $(aNode).parent().parent();
        var textContent = $trNode.find("td:first").text();
        textContent = $.trim(textContent);
        

本文地址:https://blog.csdn.net/weixin_44977914/article/details/107283150

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网