zoukankan      html  css  js  c++  java
  • jQuery-对标签元素 文本操作-属性操作-文档的操作

    一、对标签元素文本操作

    1.1 对标签中内容的操作

    // js
    var div1 = document.getElementById("div1");
    div1.innerText
    div1.innerHTML
    
    
    //jQuery
    var $div1 = $("#div1");
    $div1.text()
    $div1.html()
    <!DOCTYPE html>
    <html>
    <head>
        <title>文本操作</title>
    </head>
    <body>
        <div id="div1">
            <p>
                我是div1下的p段落
            </p>
        </div>
    
        <script src="../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            // 1.文本的获取
            var div1 = document.getElementById("div1");
            console.log(div1.innerText);
            console.log(div1.innerHTML);
    
            var $div1 = $("#div1");
            console.log($div1.text());
            console.log($div1.html());
            // 2.给元素赋值一个文本   会覆盖原来的标签和内容
            div1.innerText = "哈哈";
            console.log(div1.innerText);
            div1.innerHTML="<span>哈哈</span>"
            console.log(div1.innerHTML);
    
            $div1.text("呵呵")
            console.log(div1.innerText);
            $div1.html("<span>呵呵</span>")
            console.log(div1.innerHTML);
    
        </script>
    </body>
    </html>
    操作文本的demo

    1.2 对表单文本值的操作

    val()// 取得第一个匹配元素的当前值
    val(val)// 设置所有匹配元素的值
    val([val1, val2])// 设置checkbox、select的值
    <!DOCTYPE html>
    <html>
    <head>
        <title>表单文本值的操作</title>
    </head>
    <body>
        <form>
            用户名:<input type="text" name="" id="i1" value="hah ">
            密码:<input type="password" name="">
            <input type="radio" name="gender" value="male" checked="checked"><input type="radio" name="gender" value="female"><input type="checkbox" name="hobby" value="basket" checked="checked">篮球
            <input type="checkbox" name="hobby" value="foot" checked="checked">足球
            <input type="checkbox" name="hobby" value="doublecolorball">双色球
            <select multiple id="#s1">
                <option>1</option>
                <option selected="selected">2</option>
                <option selected="selected">3</option>
                <option>4</option>
            </select>
    
        </form>
    
        <script src="../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            console.log($("input[name='gender']"));
            console.log($("input[name='gender']").val());
            console.log($("#i1").val());
    
            // 获取多选的值    只会返回第一个选中的元素
            console.log($("input[name='hobby']:checked").val());
    
    
            // 获取多个select值
            console.log($("#s1").val());
        </script>
    </body>
    </html>
    对表单值的操作

    二、对标签元素属性操作

    用于id和自定义属性:

    attr(attrName)// 返回第一个匹配元素的属性值
    attr(attrName, attrValue)// 为所有匹配元素设置一个属性值
    attr({k1: v1, k2:v2})// 为所有匹配元素设置多个属性值
    removeAttr()// 从每一个匹配的元素中删除一个属性

    代码示例:

    <!DOCTYPE html>
    <html>
    <head>
        <title>标签属性的操作</title>
        <style type="text/css">
            
        </style>
    </head>
    <body>
        <div class="div1">
            
        </div>
        <script src="../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            // 1.获取元素的属性值
            console.log($(".div1").attr("class"));  //div1
            // 2.为元素设置一个属性值
            $(".div1").attr("name","div1Style")
            console.log($(".div1").attr("name"));  // div1Style
            // 3.设置多个属性值
            $(".div1").attr({"k1":"v1","k2":"v2"})
            console.log($(".div1").attr("k1"));
            console.log($(".div1").attr("k2"));
            // 4.删除一个属性
            $(".div1").removeAttr("k2");
            console.log($(".div1").attr("k2")); // undefined
    
        </script>
    </body>
    </html>
    用于id等属性的操作

    用于radio和checkbox:

    prop() // 获取属性
    removeProp() // 移除属性

    示例:

    <!DOCTYPE html>
    <html>
    <head>
        <title>标签属性的操作</title>
        <style type="text/css">
            
        </style>
    </head>
    <body>
        <div class="div1">
            
        </div>
    
        <form>
            <input type="radio" name="gender" value="male"><input type="radio" name="gender" value="female"><input type="checkbox" name="hobby" value="basket">篮球
            <input type="checkbox" name="hobby" value="foot">足球
            
        </form>
    
        <script src="../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            // 1.获取元素的属性值
            console.log($(".div1").attr("class"));  //div1
            // 2.为元素设置一个属性值
            $(".div1").attr("name","div1Style")
            console.log($(".div1").attr("name"));  // div1Style
            // 3.设置多个属性值
            $(".div1").attr({"k1":"v1","k2":"v2"})
            console.log($(".div1").attr("k1"));
            console.log($(".div1").attr("k2"));
            // 4.删除一个属性
            $(".div1").removeAttr("k2");
            console.log($(".div1").attr("k2")); // undefined
    
    
            // 对于radio 和 checkbox
            //1.获取一个属性
            console.log($("input[name='gender']").prop("value"));
            console.log($("input[name='hobby']").prop("value"));
            console.log($("input[name='gender']").prop("k1","v1"));
            console.log($("input[name='hobby']").prop("k2","v2"));
    
            console.log($("input[name='gender']").prop("k1"));
            console.log($("input[name='hobby']").prop("k2"));
    
            $("input[name='gender']").removeProp("k1")
            $("input[name='hobby']").removeProp("k2")
    
            console.log($("input[name='gender']").prop("k1"));// undefined
            console.log($("input[name='hobby']").prop("k2"));// undefined
        </script>
    </body>
    </html>
    radio和checkbox的属性操作demo

    三、对文档的操作

    由于jQuery没有创建标签的方式,只能通过DOM对象进行创建

    var div = document.createElement("div")
    // $(div) 的方式,将DOM对象转化为jQuery对象

    添加到指定元素内部的后面

    $(A).append(B)// 把B追加到A
    $(A).appendTo(B)// 把A追加到B

    添加到指定元素内部的前面

    $(A).prepend(B)// 把B前置到A
    $(A).prependTo(B)// 把A前置到B

    添加到指定元素外部的后面

    $(A).after(B)// 把B放到A的后面
    $(A).insertAfter(B)// 把A放到B的后面

    添加到指定元素外部的前面

    $(A).before(B)// 把B放到A的前面
    $(A).insertBefore(B)// 把A放到B的前面

     移除和清空节点

    remove()// 从DOM中删除所有匹配的元素。
    empty()// 删除匹配的元素集合中所有的子节点。
    <!DOCTYPE html>
    <html>
    <head>
        <title>文档的操作</title>
    </head>
    <body>
    
        <div class="div1">
            <ul class="ul1">
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
            </ul>
        </div>
    
    
        <script src="../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            // 1.添加到指定元素内部的后面
                // 1.首先创建一个元素,jQuery没有创建元素的方法,只能通过DOM对象
                var p = document.createElement("p");
                p.innerText="我是一个段落,要添加到div1的内部所有元素的后面";// $(p).text("xxxx");
                $(".div1").append(p);
                $(".div1").append($(p));
            // 2.添加到指定元素的内部的前面
    
                var span = document.createElement("span");
                $(span).text("我是一个span,要添加到div1的内部所有元素的前面");
                $(".div1").prepend($(span));
    
            // 3.添加到指定元素外部的后面
                var div2 = document.createElement("div");
                $(div2).text("我是div2,我放在div1的后面");
                $(div2).attr("class","div2");
                $(".div1").after($(div2));  // div.after 是 div2
                $(div2).insertAfter($(".div1")) // 把div2 插入到 div1的后面
            // 4.添加到指定元素的外部的前面
                var div3 = document.createElement("div");
                $(div3).text("我是div3,我放在div1的前面");
                $(div3).insertBefore($(".div1")); // div3 插入到 div1 的前面
                $(".div1").before($(div3));// div1的前面是div3
            // 5.移除和清空元素
                $(".div2").remove();  // 从DOM中删除所有匹配的元素。  删除div2
    
                 $(".div1").empty($(".ul1")); // 移除div1中的ul  
            // 替换
            // replaceWith() 
                var a = document.createElement("a");
                a.innerText="百度一下";
                $(".ul1").replaceWith($(a))  // 所有的 类名为 ul1的标签都会被a替换
            //replaceAll()
                $(a).replaceAll($(".ul1"));  // 使用a 替换所有的 类名为ul1 的标签
    
    
    
        </script>
    </body>
    </html>
    文档操作demo

    克隆(clone)

    <!DOCTYPE html>
    <html>
    <head>
        <title>克隆</title>
    </head>
    <body>
    
        <input type="button" name="" id="btn" value="克隆"/>
        <script src="../jquery-3.3.1.js"></script>
        <script type="text/javascript">
            $("#btn").on("click",function() {
                // body...
                $(this).clone(true).insertAfter(this);
            })
    
        </script>
    </body>
    </html>
  • 相关阅读:
    关于html元素Css样式设置的一点心得(特别是与位置有关的,还有外边距、内边距有关的那些)
    【idea的一个安装细节】是不是使用idea不能连接网络了?
    html中a标签属性parent和self的举例说明
    关于jquery的each的操作;
    superagent中文文档
    mongoose 查询子文档的方法
    Object.prototype.toString.call()进行类型判断
    局部函数的直接引用与调用
    数据模型中某个字段是单选或者多选的定义方式;
    nodejs项目中的路由写法
  • 原文地址:https://www.cnblogs.com/weihengblog/p/8892407.html
Copyright © 2011-2022 走看看