一、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. javascript知识点总结----函数内部属性

    在函数内部,有两个特殊的对象:argumengs和this 1.函数的参数 ECMAScript函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,也就是说:你定义的函数只接收2个参数, ...

  2. private + virtual in Java/C++

    在Java中,private方法是隐式final的,就是说即使在子类中定义一个一模一样的方法,编译器认为这是两个没有联系的方法.private方法不参与运行时多态,这点和 final方法.static ...

  3. myeclipse中配置maven

    1.myeclipse中已默认安装maven,首先在window-preferences-myeclipse-maven下找到maven插件,不同的版本位置可能不同,但都可以在window-prefe ...

  4. Net accounts命令

    Net accounts 将用户帐户数据库升级并修改所有帐户的密码和登录请求. 语法 net accounts [/forcelogoff:{minutes | no}] [/minpwlen:len ...

  5. 如何在属性面板中增加一个属性-UI界面编辑器(XproerUI)教程

    版权所有 2009-2015 荆门泽优软件有限公司 保留所有权利 产品首页:http://www.ncmem.com/apps/xproerui/index.asp 开发文档(SkinStudio): ...

  6. CheckedComboBoxEdit 重置初始化值的方法

    CheckedComboBoxEdit ccbgb; ccbgb绑定方式ccbgb .Properties .DataSource =数据集; ccbgb.Properties.DisplayMemb ...

  7. poj1985 Cow Marathon (求树的直径)

    Cow Marathon Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 3195   Accepted: 1596 Case ...

  8. BZOJ2038: [2009国家集训队]小Z的袜子(hose)

    Time Limit: 20 Sec  Memory Limit: 259 MB Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天, ...

  9. linux查看系统类型和版本

    首先大致普及下linux系统的版本内容. 1.内核版本和发行版本区别 我的理解,内核版本就是指linux中最基层的代码,版本号如 Linux version 3.10.0-327.22.2.el7.x ...

  10. CoreSeek

    [CoreSeek] CoreSeek有两个核心模块Indexer和Search. Indexer:负责从MySQL拉取数据源,把数据源分词,建立索引. Search:搜索模块. CoreSeek工作 ...