一、DOM操作分类

    1.DOM Core  getElement(s)获得元素
    
    2.HTML-DOM  document.对象/操作标签的属性
    
    3.CSS-DOM   获取和数组style对象的各种属性 eg:element.style.color = "red"
    
二、Jquery基础DOM操作

    1.获取和设置元素的内容
    
        text()     //获取得到标签内的文本,不包括内部标签。空格会获取到
        
                //$(".box").text()  ==  ele.innerText
                
        html()    //获取到标签内的所有内容,包括子标签本身。
        
                //$(".box").html()  == ele.innerHtml
                
        注意:如果不传入参数,表示只是获取;如果传入字符串,表示设置!
        
              设置html,如果有标签,则会解析出来!
              
        val()    //获取一个标签的value值。有,则返回。
        
        
    2.获取和修改元素的属性
    
        attr(属性名)
        
        $("div a").attr("href")        //获取属性href值
        
        $("div a").attr("href","http://www.baidu.com").attr("title","百度").text("百度");
        
    3.元素的样式操作
    
        js 操作(id) ; css 操作(class)
        
        1.获取和设置样式 (参照上)
        
        2.追加样式      $("#box").addClass("big")
        
        3.移除样式      $("#box").removeClass("样式名")
        
        4.切换样式      $("#box").toggleClass("样式名") //注意:如果样式名存在,则删除;不存在,则添加!
        
        5.判断是否有指定的class        hasClass("样式名")
        
        6.each()方法    //变量选择到的所有元素。 参数1:遍历的元素的下标 参数2:遍历的那个元素(dom对象,不是jq对象)
        
                $("div").each(function (index, ele) {
                    $(ele).html("呵呵呵")
                })
                
三、CSS-DOM操作
    
    1.CSS()方法  获取和设置css属性
    
        eg:$("#box").css("backgroundColor").css("width","800px")...
        
        注意:1.如果只传一个参数,表示获取这个属性值; 2.如果两个参数,表示设置;
        
    2.offset()方法     //获取这个元素在当前文档的相对偏移。返回的对象的两个属性 left top
    
        eg:console.log($(".box").offset.left + " " + $(".box").offset.top); //获取两个值
        
           $(".box").offset({top:100,left:100});                            //设置相对文档偏移量    
           
    3.position()方法    //获取标签相对于参照定位标签的偏移量。 注意:一般只获取,不设置!
    
        eg:var $position = $(".box div").position;
            console.log($position.left + " " +$position.top);
            
    4.scrollTop() 和 scrollLeft()方法 //获取某个元素的滚动条距离上端和左端的滚动的距离
    
                                      //可以添加定时器,设置让滚动条自动去滚动
        eg:var per = 1;
            var $p = $("p:first");
            var timerId;
                //自动滚屏
                $("button:eq(1)").click(function() {
                    timerId = setInterval(function() {
                        var top = $p.scrollTop();
                        $p.scrollTop(top + per);//更改垂直滚动条距离顶端的距离,则滚动条滚起来
                    }, 50);
                })
            /*取消自动滚屏 clearInterval(timerId);*/

四、DOM节点操作

    1.创建节点
    
        a.创建元素节点  var $li = $("<li>")  //双标签可以写成单标签
        
        b.创建文本节点    var $li = $("<li>item</li>")
        
        c.创建属性节点    var $li = $("<li id='js'>item</li>")
        
    2.插入节点
    
        $("<ul>").append($("<li>"))     //向ul中追加一个li标签。插入后,li是ul的子标签
        
        $("<li>").appendTo($("<ul>"))
        
        $("<ul>").prepend($("<li>"))    //向ul的最前面追加一个li标签
        
        $("<ul>").after($("<li>"))        //在ul后面插入一个li标签。此时,li是ul的兄弟标签
        
        $("<ul>").before($("<li>"))        //在ul前面插入一个li标签。此时,li是ul的兄弟标签
        
    3.删除节点
    
        方法1:remove()        //删除找到的标签。删除的标签会返回; 绑定的事件会丢失
                eg:
        方法2:detach()        //与remove()区别:绑定的事件、附加的数据还在
                eg:
        方法3:empty()        //清空找到的节点的所有内容,包括所有后代节点。节点还在。??
                eg:
                
    4.复制节点
    
        方法:clone()
                eg:$(".languages li:first").clone().appendTo($(".languages"));//复制节点,并添加到某个元素后面
                
    5.替换节点
    
        方法1:replaceWith()
                eg:$(".languages li").replaceWith("<li>我要全部干掉你们</li>");//找到的所有的li用参数中的节点替换
                
        方法2:replaceAll()        
                eg:$("<li>我要全部干掉你们</li>").replaceAll($(".languages li"));
                
    6.包裹节点
    
        方法1:li.wrap(p)        //每一个li分别用p包裹。    假如,有3个li,此时每个li外面都有1个p包裹住。此时,有3个p;
        
        方法2:li.wrapAll(p)    //所有的li用p包裹。此时,有1个p;    
        
        方法3:li.wrapInner(p)    //用p去包裹li的内容,不包裹li这个标签本身。
        
            eg:$(".languages li").wrapInner("<span>")    //.languages li 标签中的内容用span包括。  注意:不包裹标签字节,只包括标签的内容!

五、JQuery中的事件
    
    基础事件
    
        1.事件绑定    
        
            元素对象.bind("参数1","参数2",参数3)
            
                参数1:事件类型; 比如:blur、load、focus、scroll、click、dblclick、mouseon...
                
                参数2:一般省略
                
                参数3:事件处理函数(一般匿名函数)
                
            eg:$("button:first").bind("click",function(){
                alert("...")
            })
                注意:这里绑定的事件类型是没有on的。
                
        2.解除绑定
        
            元素对象.unbind("事件类型")    //解除与1绑定的事件
            
                注意:如果不传参数表示解除所有的事件绑定(一个按钮会同时存在多种事件)
                
            eg:$("button:eq(0)").unbind("click");
            
        3.简写事件
        
            eg:$("button:eq(1)").click(function () {
                    alert("解除")
                    firstBtn.unbind("click");  //解除click事件的绑定            
                })
                
        4.复合事件
        
            1.hover(f1,f2) //当光标移动到元素上的时候,会触发第一个函数f1;当移除时,会触发第二个函数f2。
            
                模拟光标悬停事件
                
            2.toggle(f1,f2..fn)
            
                模拟鼠标连续单击事件
                
                功能1:当第一次单击时,执行第一个函数。当第二次单击时,执行第二个函数。。。完毕后,再循环。
                
                功能2:不传任何参数,可以让元素隐藏或显示。
                
                注意:从1.9版本后,只保留功能2!!
                
    事件对象
    
        1.获取事件对象
        
            eg:ele.click(function(event){})        //event只能在函数内部使用
            
        2.事件对象的常用属性
        
            1.type属性                //获取事件类型
            
            2.preventDefault()方法    //阻止事件的默认行为。兼容各种浏览器
            
            3.stopPropation()方法    //阻止事件的冒泡
            
            4.target属性            //获取到触发事件的元素
            
            5.pageX、pageY属性        //光标相对与页面的距离。如果有滚动条,还要加上滚动条的距离
            
            6.which属性                //鼠标:左(1)中(2)右(3) 键盘:键盘的按键
            
            7.metaKey属性            //获取ctrl按键
            
        3.事件的冒泡、沉默处理
        
            事件函数中返回false,可以同时停止默认行为和冒泡。所以,可以直接返回false,而不要调用上述两个方法。
        
    高级事件
    
        1.事件模拟操作    
            
            1.ele.trigger(事件类型)
            
            eg:$("button").click(function() {
                    alert("我被点击了");
                })
                
                $("button").trigger("click") == $("button").click();
            
            2.trigger自定义事件
            
            eg:$("button").bind("myClick", function () {
                    alert("这个是我自定义的事件");
                })
               $("button").trigger("myClick");
               
            3.执行默认操作:trigger触发的事件,不仅仅触发了事件函数,也会触发浏览器的默认操作。
            
                比如,给input注册一个focus事件,则不但触发focus事件,还会触发浏览器的默认事件,使input获得焦点。
            
                使用trigerHanddler可以避免浏览器的默认操作。
            
        2.事件命名空间
            
            $btn.bind("click.my", function () {
            console.log("点击事件");
        })
            $btn.unbind(".my"); //通过命名空间统一管理命名空间下的事件
            
        3.事件委托
        
            /*//只处理选择器选中这些元素的委托
            
        $("div:first").delegate("button:nth-child(2n+1)", "click", function(){
            console.log("abc");
        });
        
            //解除委托
            
        $("div:first").undelegate("button:nth-child(2n+1)", "click");*/
        
        4.on()、off()
            
            $("button:first").on("click", {name:"lisi"}, function (event) {
            console.log(event.data);  //在参数中传递的数据,通过event.data获取    //    console.log("abcc");
        })
            $("button:first").off("click");

Jquery一般操作归纳的更多相关文章

  1. JavaScript jQuery 中定义数组与操作及jquery数组操作

    首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...

  2. IE7中使用Jquery动态操作name问题

    问题:IE7中无法使用Jquery动态操作页面元素的name属性. 在项目中有出现问题,某些客户的机器偶尔会有,后台取不到前台的数据值. 然开发和测试环境总是不能重现问题.坑爹之处就在于此,不能重现就 ...

  3. 深入学习jQuery节点操作

    × 目录 [1]创建节点 [2]插入节点 [3]删除节点[4]复制节点[5]替换节点[6]包裹节点 前面的话 DOM节点操作包括创建节点.插入节点.移除节点.替换节点和复制节点.jQuery也有类似的 ...

  4. JQuery中操作Css样式的方法

    JQuery中操作Css样式的方法//1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#tw ...

  5. jQuery HTML 操作

    jQuery 包含很多供改变和操作 HTML 的强大函数. 改变 HTML 内容 语法 $(selector).html(content) html() 函数改变所匹配的 HTML 元素的内容(inn ...

  6. Jquery DOM 操作列表

    jQuery 文档操作方法 这些方法对于 XML 文档和 HTML 文档均是适用的,除了:html(). jQuery 属性操作方法 下面列出的这些方法获得或设置元素的 DOM 属性. 这些方法对于 ...

  7. 转:jQuery 常见操作实现方式

    http://www.cnblogs.com/guomingfeng/articles/2038707.html 一个优秀的 JavaScript 框架,一篇 jQuery 常用方法及函数的文章留存备 ...

  8. jQuery Ajax 操作函数及deferred对象

    jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...

  9. jQuery Ajax 操作函数

    jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...

随机推荐

  1. java封装学习

    封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问.把过程和数据包围起来,对数据的访问只能通过已定义的接口. 在java中通过关键字priva ...

  2. python基础知识---数据结构之间的转换

  3. Android应用开发项目结构分析

    初学Android开发,初步理解的Android应用项目结构,备忘. 一.清单文件AndroidManifest.xml 功能: 1.供Android平台调用,供其了解本应用的信息,因此,所有的组件( ...

  4. iOS Safari 上加载的最大的图片尺寸

    做WAP端项目时发现, 写css代码显示图片, 却显示不出.或用canvas 来加载图片的某一部分的时候显示不出, 代码如下: background: url() no-repeat -1000px ...

  5. [原创]Lodop打印, 以及Lodop引用css文件控制打印样式的问题.

    最近在做Lodop打印功能: 思路是:  用MasterPage搭个打印页面的框架, 然后在具体的页面中填入数据, 打印的样式由母版页和CSS来控制. 困扰了一天的问题是:  在打印的JS文件中, 引 ...

  6. 【英语魔法俱乐部——读书笔记】 1 初级句型-简单句(Simple Sentences)

    第一部分 1 初级句型-简单句(Simple Sentences):(1.1)基本句型&补语.(1.2)名词短语&冠词.(1.3)动词时态.(1.4)不定式短语.(1.5)动名词.(1 ...

  7. C#与Java的比较

    C#与Java的比较 写完后得知维基百科里有更加全面得多的比较: http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java NET(C#) ...

  8. 将mac上的项目上传到oschina,进行代码托管。

    1.首先看一下自己是否有公钥, 在 我的资料-->SSH公钥  查看,如果没有,添加自己的SSH 公钥: SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接. 2. ...

  9. [转]Direct3D 11 Tessellation Tutorial

    The new hardware tessellation feature available on Direct3D 11 video cards has great potential, but ...

  10. Host 'XXX' is not allowed to connect to this MySQL server 解决方案/如何开启MySQL的远程帐号

    www.cnblogs.com/zhangzhu/archive/2013/08/22/3274831.html 如何开启MySQL的远程帐号-1)首先以 root 帐户登陆 MySQL 在 Wind ...