zoukankan      html  css  js  c++  java
  • 3.jQuery操作DOM对象的方法

    # jQuery操作DOM 和 增删改查
    - 1.html()
    ```js
    $('ul li').html();//获取ul下第一个li元素下的内容
    $('ul li').html('9');//把ul下所有li元素下的内容改为9
    $('ul li').html(function(index, ele){
        return '<p style="color:orange">'+ index +'</p>'
    });//把ul下所有li元素下的内容改为return的内容
    ```

    - 2.text() 
    ```js
    $('ul').text();//获取ul元素的后代元素的所有文本节点
    $('ul li').text(function(index, ele){
        return '<p style="color:orange">'+ index +'</p>'
    });//把ul下所有li元素下的内容改为return的字符串信息
    ```

    - 3.size()
    ```js
    $('ul li').size();//获取ul下li元素的个数
    ```

    - 4.addClass()
    ```js
    $('.demo').addClass('demo1 demo2');
    $('.demo').addClass(function(index, ele){
        return 'demo1';//在原来class='demo'的基础上,加上demo1
    });
    ```

    - 5.removeClass() 移除class

    - 6.hasClass() 是否拥有某个class名

    - 7.css() 
    ```js
    $('.demo').css({'100px', height:'100px', backgroundColor:'red'});//赋值操作
    $('.demo').css('width');//取值操作
    ```

    - 8.attr() 基于setAttribute getAttribute 自定义属性,和行间属性
    ```js
    $('.demo').attr('class');//取值
    $('.demo').attr('class', 'wrapper');//赋值
    ```

    - 9.prop() 基于原生JS的dom对象的特性操作,特性映射,非特性不能映射
    ```js
    $('.demo').prop('class');//取值,对于自定义属性不能取值
    $('.demo').prop('checked');//取值,对于自定义属性不能取值
    $('.demo').prop('class', 'wrapper');//赋值
    ```

    - 10.val() 取值和赋值操作,赋和取表单元素相关的值
    ```js
    $('input').val();//取值
    $('input').val('123');//赋值
    $('input[type="checkbox"]').val(function(index, oldValue){
        return oldValue + index;
    });
    ```

    ## 增删改查操作

    ### 查找
    - 1.next() 获取下一个兄弟元素节点

    - 2.prev() 获取上一个兄弟元素节点

    - 3.prevAll() 获取同级的下面兄弟元素节点

    - 4.nextAll() 获取同级的上面的兄弟元素节点

    - 5.prevUntil() 获取同级的上面的兄弟元素,直到XXX为止

    - 6.nextUntil() 获取同级的下面的兄弟元素,直到XXX为止
    ```js
    $(h1).next().click(function(){
        if($(this).prop('checked')){
            $(this).nextUntil('h1', 'input[type="checkbox"]').prop('checked', true);//找到同级的下面的元素,直到h1元素为止,且只找到里面input[type="checkbox"]的元素
        }else{
            $(this).nextUntil('h1', 'input[type="checkbox"]').prop('checked', false);//
        }
    });
    ```

    - 7.siblings() 获取到同级元素的所有兄弟元素节点
    ```js
    $('.demo').siblings('span');//获取到同级的所有span元素
    ```

    - 8.parent() 获取到上一级元素节点

    - 9.parents() 获取到所有祖先元素节点

    - 10.offsetParent() 获取离自己最近的有定位的祖先元素

    - 11.closest() 获得匹配选择器的第一个祖先元素,从自己(当前元素)开始沿 DOM 树向上。

    - 12.slice() 截取元素
    ```js
    $('.demo').slice(1, 2);//截取第一个到第二个元素(不包括第二个元素)
    ```

    ### 增加 改变元素
    - 13.insertBefore()
    ```js
    $('.content').insertBefore('.box');//在.box之前插入.content
    ```

    - 14.before()
    ```js
    $('.box').before( $('.content') );//在.box之前插入.content
    ```

    - 15.insertAfter()
    ```js
    $('.content').insertAfter('.box');//在.box之后插入.content
    ```

    - 16.after()
    ```js
    $('.box').after( $('.content') );//在.box之后插入.content
    ```

    - 17.appendTo()
    ```js
    $('.demo').appendTo('.container');//把.demo添加到.container元素里面成为最后一个子元素,剪切操作
    ```

    - 18.append()
    ```js
    $('.container').append( $('.demo') );//把.demo添加到.container里面成为最后一个子元素,剪切操作
    ```

    - 19.prependTo()
    ```js
    $('.demo').prependTo('.container');//把.demo添加到.container元素里面成为第一个子元素,剪切操作
    ```

    - 20.prepend()
    ```js
    $('.container').prependTo( $('.demo') );//把.demo添加到.container里面成为最后一个子元素,剪切操作
    ```

    ### 删除元素

    - 21.remove()
    ```js
    $('.demo').remove().appendTo('.container');//先删除.demo元素,后把.demo元素添加到.container元素里面成为最后一个子元素。这样删除的.demo元素,自身捆绑的事件(click, blur等)就会同时删除
    ```

    - 22.detach()
    ```js
    $('.demo').detach().appendTo('.container');//先删除.demo元素,后把.demo元素添加到.container元素里面成为最后一个子元素。这样删除的.demo元素,自身捆绑的事件(click, blur等)不会同时删除
    ```

    ### 添加包裹元素

    - 23.wrap()
    ```js
        $('.demo').wrap('<div class="container"></div>');//为.demo元素包裹一层wrap()函数中的元素,对wrap()函数中的元素进行复制操作
        $('demo').wrap(fuction(index){
            return '<div>' + index + '</div>';
        });//为每一个.demo元素都包裹一层return的元素
    ```

    - 24.wrapInner()
    ```js
        $('.demo').wrapInner('<div class="container"></div>');//把.demo里面的元素包裹一层wrap()函数中的元素
    ```

    - 25.wrapAll()
    ```js
        $('.demo').wrapAll('<div class="container"></div>');//给所有的.demo加上一个统一的父元素.container,注意所有的.demo元素最好是同级元素
    ```

    - 25.unwrap()
    ```js
        $('.demo').unwrap();//把.demo的直接父级删掉
    ```

    ### 特殊的
    $() 创建jQuery对象
    ```js
    $('<div></div>');//可以直接通过$()创建一个jQuery对象
    ```

    以上是markdown格式的笔记
  • 相关阅读:
    知乎 : 有什么你认为很简单的问题实际的证明却很复杂?
    民科吧 的 一题 : ∂ f / ∂ x =
    知乎: Lurie 的 derived algebraic geometry 有多重要?
    说说 网友 专业证伪 的 那道 几何题
    在 《数学问题,连接两个点的曲线旋转所成曲面中,面积最小的曲线是什么?》 里 的 讨论
    证明 夹逼定理 和 洛必达法则
    一道数学题 : 数列 { bn } 收敛, 证明 { an } 也收敛
    一道数学题 : f ( 2^x ) + f ( 3^x ) = x , 求 f ( x )
    网友 lzmsunny96 的 一个 分数 分解题
    我 搞了一个 尺规作图 不能 实现 三等分角 的 证明
  • 原文地址:https://www.cnblogs.com/lanshanxiao/p/12864695.html
Copyright © 2011-2022 走看看