• jQuery基础:上(样式及DOM操作)


            //jQuery封装了自己的js方法,因此掩盖了js带来的兼容问题
            var $div = $('#imooc');
            $div.html('hello,bitch!').css('color','red');
    
            //.get(index)方法可以将jQuery对象转化为DOM对象
            var $p = $('p');
            $p.get(1).style.color = 'red';
    
            //$()操作符对DOM对象使用时可以将DOM对象转化为jQuery对象
            var p = document.getElementsByTagName('p');
            var $p = $(p);
            $p.last().html('w qu bu qu !').css('color','#ddd');
    
            //常见的层级选择器的使用
            $('body > #imooc').html("I am body's son");
            $('pre sub');
            $(' #imooc + p').html("o sb");
            $('.i1 ~ p').html("e sb");
    
            //常见的筛选选择器的使用
            $(':first');        //$('body:first');
            $(':last');
            $(':not(selector)');
            $(':eq(index)');
            $(':gt(index)');
            $(':lt(index)');
            $(':even');
            $(':odd');
            $(':header');
            $(':lang(language)');
            $(':root');
            $(':animated');
    
            //内容筛选选择器
            $(":contains(text)");
            $(':parent');
            $(':empty');
            $(":has(selector)")
    
            //可见性筛选器
            $(":visible");
            $(":hidden");
    
            //子元素筛选选择器
            $(":first-child");
            $(":last-child");
            $(":only-child");
    
            //表单元素选择器
            $(':input')
            $(':text')
            $(':radio')
            $(':checkbox')
            $(':button')
            $(':password')
            $(':image')
            $(':reset')
    
            //表单对象属性筛选器
            $(':checked')
            $(':selected')
            $(':enabled')
            $(':disabled')
    
            //this选择器
            $('p.i1').click(function() {          //p.i1注意这种选择方式
                var $this = $(this);
                $this.css('color','#ddd');
            })
    
            //.attr()和.removeAttr()
            $('.i1').attr('class');
            $('.i1').attr('title','p');
            $('.i1').attr({'title':'p','name':'Eric'});
            //.attr的函数方法,第一个参数书要操作的属性,第二个参数是回调函数
            //回调函数接受两个参数,第一个是选择器的索引,第二个是索引对应的属性值。
            $('p').attr('class',function(m,cla){
                // alert(cla);
                switch(m) {
                    case 0 :
                        return 'a';
                        break;
                    case 1:
                        return 'b';
                        break;
                    case 2:
                        return 'c';
    
                }
            })
    
            //.html()和.text()
            $('.i1').html();
            $('.i1').html('w qu ni nainai');
            $('p').html(function(index,oldHtml) {
                switch(index) {
                    case 0:
                        return 'w qu ni baba';
                        break;
                    case 1:
                        return 'w qu ni yeye';
                        break;
                    case 2:
                        return "w qu ni da yi ma"
                }
            })
            //.text()方法和html()类似三种用法,但是只对文本内容处理,html是对整个html节点处理。
    
            //.val()处理表单元素的value值,同样三种用法。
    
            //.addClass()和.removeClass()
            $('p').addClass(function( index,currentClass) {
                switch(index) {
                    case 0:
                        return 'i9';
                        break;
                    case 1:
                        return 'i2';
                        break;
                    case 2:
                        return "i3"            
                }
            });
            $('.i9').addClass('i2');
    
            //.toggleClass()切换样式
    
            //.css()设置样式
    
            //元素的数据存储
            //1.静态方法
            $('.i2').click(function() {
                var ele = $(this);
                $.data(ele,'a','a is babb');
                var reset = $.data(ele,'a');
                ele.text(reset);
            });
            $('.i3').click(function() {
                var ele = $(this);
                ele.data('b','b is your baba');
                var reset = ele.data('b');
                ele.html(reset);
            })
    
    
            //jQuery创建节点的方法
            $('body').on('click',function() {
                var ele = $('<div class="i5"> 我是jQuery创建的新节点</div>');
                $(this).append(ele);
            })
    
            //.append()和.appendTo()内部尾部添加节点
            //.prepend() .prependTo()内部首部添加节点
    
            //.before()和.after()外部添加节点
            //.insertBefore() .insertAfter() 与之前两个方法功能相同,单数相反。
    
            //.empty()清除元素的子节点,但保留自身标记。
    
            //.remove()会销毁绑定的事件,从而避免内存泄漏
            //.remove()的有参用法可以进一步筛选。
            // $('p').filter(":contains('yeye')").remove();
            $('p').remove(":contains('yeye')");
    
            //.detach() 将元素暂时性的去除,但保留所有的事件和属性数据。
            var p = $('p').detach();
            $('body').prepend(p);
            
            //.clone()克隆元素整个节点
            //.clone(true)复制整个节点以及绑定的事件和属性数据。但是属性数据中的对象和数组只复制引用。
    
            //.repalceWith() 和.replaceAll()替换节点
            //这两个方法返回的jQuery对象是替换前的节点,而不是新的节点。
    
            //.wrap(),包裹当前元素,返回值为当前元素。
            $('.i3')
            .wrap(function() {
                return '<div><div></div></div>';
            })
            .css('background-color','red');
            //也可以把函数换成在.wrap()的参数中写入html内容。
    
            //.unwrap()方法删除父元素,没有参数,保留自身和兄弟元素。
    
            //.wrapAll()可以将多个元素包裹父元素
            //.wrapAll(function() {})可以在回调函数中对每个元素执行包裹操作。
    
            //.wrapInner()将当前元素下的所有子元素用指定的元素包裹起来,作为当前元素的子元素。
    
            //.children()遍历元素的一级子元素。
            //.children('.selector')遍历元素的筛选之后的一级子元素。
    
            //.find('.selector')查找后代
    
            //.parent() 查找当前元素的父元素
            //.parent()可以接受参数筛选器,例如
            //$('div').parent(":last")
    
            //.parents()
    
            //.closest()
    
            //.next()
    
            //.prev()
    
            //.siblings()
    
            //.add() 将元素(jQuery对象或者DOM或者HTML片段)添加到jQuery合集中。
    
            //.each() 对jQuery合集对象的遍历操作,each()中的回调函数有两个实参,索引和迭代元素。
  • 相关阅读:
    [BZOJ]1854: [Scoi2010]游戏
    [BZOJ]3531: [Sdoi2014]旅行
    2017-3-30校内训练
    Codeforces Round #407 (Div. 1)
    [BZOJ]1064: [Noi2008]假面舞会
    Educational Codeforces Round 18
    [BZOJ]1503: [NOI2004]郁闷的出纳员
    [BZOJ]1758: [Wc2010]重建计划
    2017-3-26四校联考
    [BZOJ]4644: 经典傻逼题
  • 原文地址:https://www.cnblogs.com/FunkyEric/p/9179623.html
Copyright © 2020-2023  润新知