zoukankan      html  css  js  c++  java
  • jQuery对象的属性操作

    jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作

    • html属性操作:是对html文档中的属性进行读取,设置和移除操作。比如attr()、removeAttr()
    • DOM属性操作:对DOM元素的属性进行读取,设置和移除操作。比如prop()、removeProp()
    • 类样式操作:是指对DOM属性className进行添加,移除操作。比如addClass()、removeClass()、toggleClass()
    • 值操作:是对DOM属性value进行读取和设置操作。比如html()、text()、val()

    attr() 

    设置属性值或者 返回被选元素的属性值

    获取:
    $('div').attr('id')
    设置
    $('div').attr('class','box')
    设置多个值,键值对存储
    $('div').attr({name:'hahaha',class:'happy'})

    removeAttr()

    移除属性

    //删除单个属性
    $('#box').removeAttr('name');
    $('#box').removeAttr('class');
     
    //删除多个属性
    $('#box').removeAttr('name class');

    prop()

    prop() 方法设置或返回被选元素的属性和值。

    当该方法用于返回属性值时,则返回第一个匹配元素的值。

    当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。

    返回属性的值
    $(selector).prop(property)
    
    设置属性和值
    $(selector).prop(property,value)
    
    设置多个属性和值
    $(selector).prop({property:value, property:value,...})

    attr和prop的运用场景

    在使用单双选框的时候
    //使用attr获取checked的值
               console.log($('input').eq(0).attr('checked'));
    -----》返回 checked
     //使用prop获取checked的值
                console.log($('input').eq(0).prop('checked'));
    -----》返回true
    
    可以根据不同结果去运用

    addClass(添加多个类名)

    removeClass从所有匹配的元素中删除全部或者指定的类。

    $('div').addClass("box");//追加一个类名到原有的类名
    
    $('div').addClass("box box2");//追加多个类名
    
    $('div').removeClass('box');移除指定的类(一个或多个)
    
    $('div').removeClass();   移除全部的类

    toggleClass如果存在(不存在)就删除(添加)一个类。

    $(this).toggleClass('active')

    html()

    设置值:设置该元素的所有内容 会替换掉 标签中原来的内容

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            /*.box{*/
                /*color: red;*/
            /*}*/
        </style>
    </head>
    <body>
    <div class="box">
        1111
    </div>
    <div class=".box1">123</div>
    <script type="text/javascript" src="jquery-3.3.1.js"></script>
    <script type="text/javascript">
        $(function(){
            //设置值
            var name = '张韶涵';
            // 模板字符串 tab键上面的反引号 插入变量使用${变量名}
            $('.box').html(`<p style="color: red;">${name}</p>`);
            //使用加号比较麻烦
            // $('.box').html('<p style="color: red;">'+name+'</p>');
            //获取值
            console.log($('.box').html());
        })
    </script>
    
    </body>
    </html>
    View Code

    text

    text() 获取匹配元素包含的文本内容,一般配合trim使用

    console.log($('.box').text().trim());  //去除左右空格

    val

    val()用于表单控件中获取值,比如input textarea select等等

    $('input').val('设置了表单控件中的值');

    jquery的文档操作

    1插入

    父元素.append(子元素)

    $('ul').append('<li class="item1">苏东坡</li>');

    如果追加的是jquery对象那么这些元素将从原位置上消失。简言之,就是一个移动操作

    <body>
        <ul></ul>
        <ol>
            <li class="li1">张碧晨</li>
            <li></li>
        </ol>
    <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript">
        $(function(){
            //将.li1元素移动到ul里面
            $('ul').append($('.li1'));
        })
    </script>
    </body>
    View Code

    子元素.appendTo(父元素)

    父元素.prepend(子元素);前置添加, 添加到父元素的第一个位置

    $('ul').prepend('<li>我是第一个</li>')

    子元素.prependTo(父元素);前置添加, 添加到父元素的第一个位置

    $('<li>我是第一个</li>').prependTo(‘ul’)

    父元素.before(子元素);

    子元素.inserBefore(父元素);在匹配的元素之前插入内容 
     

    2修改

    replaceWith():替换

    replaceAll()  :替换所有

    $('<p>哈哈哈</p>').replaceAll('h2');

    3删除

    remove() 删除节点后,事件也会删除(简言之,删除了整个标签)

    detach()  删除节点后,事件会保留

    $('ul').remove();
    
    $('button').detach();
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    <button>操作</button>
    <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript">
        $(function(){
            $('button').click(function () {
                var btn = $('button').eq(0).detach();   //删除节点后,事件会保留
                $('body').append(btn);  //将删除的标签添加到body中
                //克隆匹配的DOM元素
                $(this).clone(true).insertAfter(this); //true表示克隆自己,副本具有与真身一样的事件处理能力
            })
        })
    </script>
    </body>
    </html>
    View Code

    empty() 清空选中元素中的所有后代节点

    //清空掉ul中的子元素,保留ul
    $('ul').empty();
     
     
     
  • 相关阅读:
    我要好offer之 二叉树大总结
    我要好offer之 字符串相关大总结
    楼层扔鸡蛋问题[转]
    Linux System Programming 学习笔记(十一) 时间
    Linux System Programming 学习笔记(十) 信号
    Linux System Programming 学习笔记(九) 内存管理
    Linux System Programming 学习笔记(八) 文件和目录管理
    Linux System Programming 学习笔记(七) 线程
    Linux System Programming 学习笔记(六) 进程调度
    APUE 学习笔记(十一) 网络IPC:套接字
  • 原文地址:https://www.cnblogs.com/mmyy-blog/p/9577393.html
Copyright © 2011-2022 走看看