jQuery:DOM和CSS的操作

 

1 属性函数

  attr( "属性" ); 获得元素的属性值

    attr( "属性" , "新值" ); 修改元素的属性值

    attr( 样式参数 ) :样式参数可以写成json格式

<body>
    <button id="btn1">点我试试</button>
    <hr>
    <img src="img/1.jpg" title="美女大图" width="300">

    <script src="js/jquery-3.4.1.min.js"></script>
    <script>
        $("#btn1").click(function(){
            $("img").attr("src","img/2.jpg");    
            $("img").attr("title","高清无码");
            $("img").attr( {width:"200",height:"200"} );
        });
    </script>
</body>

val() ; 获得表单元素中的value值

  val("x") 修改表单元素中的value值

html(); 获得元素中的内容(标签+文本)

  html("x") 修改元素中的内容(标签+文本)

text(); 获得元素中的文本

  text("x") 修改元素中的文本

<button>试试</button>
<hr>
<input id="username">

<div>
    <h1><i>中国加油!</i></h1>
</div>

<script src="js/jquery-3.4.1.min.js"></script>
<script>
    $("button").click(function(){
        //alert($("input").val()); //input框中的值
        //$("input").val("哈哈哈"); //修改input框中的值

        //alert( $("div").html() ); //获得div中的内容(包含标签信息)
        //alert( $("div").text() ); //获得div中的内容(不包含标签信息,只包含文本内容)
        $("div").text("祖国万岁!"); //修改div中的内容(全部内容都覆盖)
});
</script>

 

2 样式函数

  css( "属性"); 获得该属性值

  css( "属性","值"); 设置属性的值

  css( { json} ); 设置多个属性的值

<style>
    div{
        width: 150px;
        height: 150px;
        background-color: #000;
    }
</style>
<body>
    <button>试试</button>
    <hr>
    <div></div>

    <script src="js/jquery-3.4.1.min.js"></script>
    <script>
        $("button").click(function(){
            //var w = $("div").css("width"); // 获取css属性,width的值

            //1.一个键值对
            //$("div").css("background-color","pink");

            //2.链式编程
            //$("div").css("background-                color","pink").css("borderradius","50%");
            //3.json为参数
            $("div").css({
                opacity:"0.4",
                background:"orange",
                borderRadius:"50%"
            } );
        });
    </script>
</body>

width(); 获得元素的宽度

width( number ); 修改元素的宽度

height(); 获得元素的高度

height( number ); 修改元素的高度

<style>
    div{
        width: 150px;
        height: 150px;
        background-color: #000;
    }
</style>
<body>
    <button>试试</button>
    <hr>
    <div></div>

    <script src="js/jquery-3.4.1.min.js"></script>
    <script>
        $("button").click(function(){
            var w = $("div").width(); // (无参)获取宽度
            var h = $("div").height();// (无参)获取高度
            // alert("宽:"+w+"px,高:"+h+"px");
            $("div").width("300"); // (传参)修改宽度
            $("div").height("300"); //(传参)修改高度
        });
    </script>
</body>

 

3 类样式函数

  addClass(); 为元素添加类样式

  removeClass(); 将元素的类样式移除

  toggleClass(); 样式的切换(有->无,无->有)

<style>
    div{
        width: 100px;
        height: 100px;
        background-color: #000;
    }

    .a{
        background: palevioletred;
        border-radius: 50%;
    }

    .b{
        border:5px dashed darkcyan;
        opacity: 0.6;
    }

    .cn{
        background: #000;
        color:#FFF;
        font-family: 字魂49号-逍遥行书;
    }
</style>
<body>
    <button id="btn1">试试</button>
    <button id="btn2">取消透明度</button>
    <button id="btn3">样式切换</button>
    <hr>
    <div></div>
    <h1>中华人民共和国,万岁!</h1>

    <script src="js/jquery-3.4.1.min.js"></script>
    <script>
        $("#btn1").click(function(){
            // $("div").addClass("a");
            $("div").addClass("a b");
        });

        $("#btn2").click(function(){
            $("div").removeClass("b");
        });

        $("#btn3").click(function(){
            $("h1").toggleClass("cn");
        });
    </script>
</body>

 

4 节点操作

创建节点

  工厂函数$()用于获取或创建节点

插入节点

  插入子节点

语法 功能
append(content) $(A).append(B)表示将B追加到A中,如:$("ul").append($newNode1);
appendTo(content) $(A).appendTo(B)表示把A追加到B中,如: $newNode1.appendTo("ul");
prepend(content) $(A). prepend (B)表示将B前置插入到A中,如:$("ul"). prepend ($newNode1);
prependTo(content) $(A). prependTo (B)表示将A前置插入到B中,如:$newNode1. prependTo ("ul");

  插入同辈节点

语法 功能
after(content) $(A).after (B)表示将B插入到A之后,如:$("ul").after($newNode1);
insertAfter(content) $(A). insertAfter (B)表示将A插入到B之后,如: $newNode1.insertAfter("ul");
before(content) $(A). before (B)表示将B插入至A之前,如: $("ul").before($newNode1);
insertBefore(content) $(A). insertBefore (B)表示将A插入到B之前,如: $newNode1.insertBefore("ul");

 

替换节点

  replaceWith()

  replaceAll()

 

复制节点

  clone()

 

删除节点

  remove()删除整个节点

  empty()清空节点内容

<input> <button id="test">测试</button>

<ul>
    <li>Java入门到跑路</li>
    <li>貂蝉往事</li>
    <li>东京热不热</li>
</ul>

<script src="js/jquery-3.4.1.min.js"></script>
<script>
    $("#test").click(function(){
        var bookname = $("input").val();
        var newli = $("<li>"+bookname+"</li>"); //通过工厂函数,创建新的li节点

        /*添加子节点*/
        //$("ul").append(newli); // newli添加到ul后面
        //newli.appendTo("ul"); // newli添加到ul后面
        //$("ul").prepend(newli); // newli添加到ul前面
        //newli.prependTo("ul");

        /*添加同辈节点*/
        //$("li:last").after( newli ); // newli添加到最后的li的后面
        //newli.insertAfter("li:last");
        //$("li:last").before(newli); //newli添加到最后的li的前面
        //newli.insertBefore("li:last");

        /*替换节点*/
        //$("li:eq(1)").replaceWith(newli); // 将第二个li替换成newli
        //newli.replaceAll( "li:eq(1)" );

        /*复制节点*/
        //$("li:first").clone().insertAfter("li:last"); // 复制第一个li,并插入到最后一个li的后面

        /*删除节点*/
        //$("li:eq(1)").empty(); // 清空了节点上的文本(节点并没有消失)
        $("li:eq(1)").remove(); //删除节点
    });
</script>

 

posted @ 2021-08-30 13:26  Jasper2003  阅读(59)  评论(0编辑  收藏  举报