day25css方法 jquery效果 样式等操作

一、css方法  ()

    元素.css("样式")//获取样式(可以获取行内设置的样式,也可以获取上style里设置的css样式)

    元素.css("样式","值")//设置样式

二、方法index()  获取当前元素所有序列的下 。 标注:下标包含同级其它元素。

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <title></title>

    </head>

    <body>

        <ul>

            <p></p>

            <li>11</li>

            <li>12</li>

            <li>13</li>

            <li id="id3">14</li>

            <li>15</li>

        </ul>

    </body>

</html>

<script src="jquery.js"></script>

<script type="text/javascript">

    alert($("#id3").index());//4

    alert($("#id3").index("li"));//3

</script>

三、运动(效果)方法:里面都可以加slow,fast

1)基本  show();hide();     toggle()跟show效果一样

2)滑动  sideUp();sideDown();      sideToggle();

3)淡入淡出 fadeIn();fadeOut();     fadeToggle()

4)透明度  fadeTo("时间",0.34(透明度)); 

案例:二级导航

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <title></title>

        <style type="text/css">

            *{

                padding: 0;

                margin: 0;

            }

            div{

                width: 600px;

                margin: auto;

                margin-top: 100px;

            }

            ul{

                list-style: none;

            }

            .oUl{

                width: 600px;

            }

            .oUl>li{

                width: 200px;

                float: left;

            }

            .oUl>li a{

                display: block;

                text-align: center;

                line-height: 30px;

                box-shadow: 1px 2px 2px 1px brown;

            }

            .oUl>li a:hover{

                background: saddlebrown;

                color: white;

            }

            .oUl>li ul{

                border: 1px solid salmon;

                background: #CCCCCC;

                display: none;

            }

            .oUl>li ul li{

                line-height: 30px;

                text-align: center;

            }

            .oUl>li ul li:hover{

                background: sandybrown;

            }

        </style>

    </head>

    <body>

        <div>

            <ul class="oUl">

                <p></p>

                <li>

                    <a id="oa" href="#">一级菜单</a>

                    <ul>

                        <li>二级菜单</li>

                        <li>二级菜单</li>

                        <li>二级菜单</li>

                        <li>二级菜单</li>

                    </ul>

                </li>

                <li>

                    <a href="#">一级菜单</a>

                    <ul>

                        <li>二级菜单</li>

                        <li>二级菜单</li>

                        <li>二级菜单</li>

                        <li>二级菜单</li>

                    </ul>

                </li>

                <li>

                    <a href="#">一级菜单</a>

                    <ul>

                        <li>二级菜单</li>

                        <li>二级菜单</li>

                        <li>二级菜单</li>

                        <li>二级菜单</li>

                    </ul>

                </li>

            </ul>

        </div>

    </body>

</html>

<script src="jquery.js">

</script>

<script type="text/javascript">

    $(function(){

        $(".oUl>li").mouseover(function(){

        //this是一个DOM对象,不能用this来调用jquery中方法

        //index()可以获取元素下标

        var index=$(this).index(".oUl>li");

//      $(".oUl li ul:eq("+index+")").css("display","block");

//      $(".oUl li ul:eq("+index+")").show(500);

//      $(".oUl li ul:eq("+index+")").stop().slideDown("fsat");

        $(".oUl li ul:eq("+index+")").fadeIn();

//      $(".oUl li ul:eq("+index+")").fadeTo("100",0.8);

        

        })

        $(".oUl>li").mouseout(function(){

        var index=$(this).index(".oUl>li");

//      $(".oUl li ul:eq("+index+")").css("display","none");

//      $(".oUl li ul:eq("+index+")").hide(500);

//      $(".oUl li ul:eq("+index+")").stop().slideUp("fast");

        $(".oUl li ul:eq("+index+")").fadeOut();

//      $(".oUl li ul:eq("+index+")").fadeTo("100",0);

        })

    })

四、js对象与jq对象互相转换

    DOM对象转成jquery对象:$(DOM对象);

    jquery对象转成js对象(转成jquery对象设置样式必须按照js中的格式去设置)

        方案一: $()[下标]

                      $("#box")[0].style.color = "blue";

        方案二: $().get(下标)      

                     $("#box").get(0).style.color = "blue";

 

$(DOM对象).(不用加on)事件(function(){

    代码块;

});

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <title></title>

    </head>

    <body>

        <div id="box">

            box

        </div>

    </body>

</html>

<script src="js/jquery.min.js"></script>

<script type="text/javascript">

    //$("#box").css("color","red");

    $("#box")[0].style.color = "blue";

    $("#box").get(0).style.color = "blue";

    $(document).ready(function(){});

    window.onscroll = funciton(){

    }//js对象

    $(window).scroll(function(){

    })//jquery对象

</script>

五、筛选选择器

    <body>

        <ul>

            <li>11</li>

            <li>12</li>

            <li class="a">13</li>

            <li>14</li>

            <li>15</li>

        </ul>

        <ul>

            <li>11</li>

            <li>12</li>

            <li>13</li>

            <li>14</li>

            <li>15</li>

        </ul>

    </body>    

1)eq(index|-index)

    $("li").eq(3).css("color","red");

2)first()

   $("li").first().css("color","red");

   页面中所有li元素中的第一个

3)last()

    $("li").last().css("color","red");

 页面中所有li元素中的最后一个

4)hasClass(class)   返回true

   $("li").mouseover(function(){

    if($(this).hasClass("a")){

        $(this).css("color","red");

    }

})

5)filter()   过滤满足条件的

    $("li").filter(function(index){

    return index==2;

}).css("color","blue");

6)is()

    alert($(".a").is("a"));//false

7)not()

   $("li").not(".a").css("color","blue");

8)slice()

   $("li").slice(2,3).css("color","red");

六、查找选择器

   <body>

       <ul>

        <p>22</p>

        <li class="a">11</li>

        <li>12</li>

        <li>13</li>

        <li class="b">14</li>

        <li>15</li>

        <p>33</p>

       </ul>

    </body>

1)children()

    $("ul").children("li").css("color","red");

2)find()

    $("ul").find("li").css("color","red");

3)next()有问题

4)nextAll()

     $("li").nextAll().css("color","red");

5)nextUnit()

    $(".a").nextUntil(".b").css("color","red");

6)siblings(

     $(".a").siblings().css("color","blue");

七、样式操作

  1.  为元素添加一个样式类  

      $("#box").addClass("box");

      没有class属性则直接添加;有的话,就在后面添加一个(不会覆盖原来属性值) 

      如:class=“box a”; 

    2)删除样式类

      $("#box").removeClass("a");

      后来添加的样式也可以删除。原先在行内添加的样式类也可以删除

案例siblings()实现选项卡功能

<!DOCTYPE html>

<html lang="en">

    <head>

        <meta charset="utf-8">

        <style>

    *{

        margin: 0;

        padding: 0;

        list-style-type: none;

    }

    .warp{

        width: 360px;

        height: 400px;

        border: 1px solid #b6b6b6;   

        margin: 50px auto;

    }

    #btn{

    width: 360px;

    height: 40px;

    }

    #btn li{

        float: left;

        width: 118px;

        margin: 0 1px;

        background: #ddd;

        height: 40px;

        line-height: 40px;

        text-align: center;

    }

    #btn .active{

        background: #b6b6b6;

    }

    #show{

        width: 360px;

        height: 460px;

    }

    #show li{

        width: 360px;

        height: 460px;

        display: none;

    }

    </style>

    </head>

    <body>

    <div>

    <div class="warp" id='warp'>

            <ul id="btn">

                <li index="0" class="active">选项1</li>

                <li index="1">选项2</li>

                <li index="2">选项3</li>

            </ul>

            <ul id="show">               

                <li style="background:green;display:block"><img src="" alt=""></li>

                <li style="background:red;"><img src="" alt=""></li>

                <li style="background:pink;"><img src="" alt=""></li>

            </ul>

    </div>

    </div>

    </body>

</html>

<script src="jquery.js"></script>

<script type="text/javascript">

        $("#btn li").click(function(){

            $(this).addClass("active").siblings().removeClass("active");

            $("#show li").eq($(this).index()).show().siblings().hide();

        })  

</script>

 八、属性操作

    1)attr("属性"):获取属性值

       alert($("#box").attr("class"));//box

    2)attr(“属性”,“属性值”):设置属性值  可以添加自定义属性,也可以设置原属性(设置原属性时,覆盖原来属性值了)

    $("#box").attr("aaa","bbb");//为id为box的元素添加了一个aaa属性

    alert($("#userName").attr("disabled","disabled"));//文本框禁用

3)prop("checked")/prop("checked",true/false):获取或设置返回值为boolean的属性

注意,attr不能操作返回值为boolean类型的属性,如checked / selected

案例:全选与全不选

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <title></title>

    </head>

    <body>

        <input type="checkbox" name="all"/>全选

        <input type="checkbox" name="sl"/>

        <input type="checkbox" name="sl"/>

        <input type="checkbox" name="sl"/>

        <input type="checkbox" name="sl"/>

        <input type="checkbox" name="sl"/>

        <input type="checkbox" name="sl"/>

        <input type="checkbox" name="sl"/>

    </body>

</html>

<script src="jquery.js"></script>

<script type="text/javascript">

    $(function(){

    $("input[name=all]").click(function(){

        $("input[name=sl]").prop("checked",$(this).prop("checked"));

    })

        var flag=true;//代表所有的都被选中了

        $("input[name=sl]").each(function(index,item){

            if(!$(item).prop("checked")){

                flag=false;//最少有一个没被选中

                return;

            }

            

        })

        $("input[name=sl]").click(function(){

            if(flag){

            $("input[name=all]").prop("checked",true);

        }else{

            $("input[name=all]").prop("checked",false);

        }

        })  

    })

</script>

九、内容操作

       如果括号中没有参数,表示获取内容,有参数,表示设置内容

       1)操作html标签

             html(“<tr>”)

             text()

            获取值:

           alert($("#box").html());//这是薄晓

     alert($("#box").text());//这是薄晓

     设置值:

      $("#box").html("<h1>kil</h1>");//可加标签

      $("#box").text("iii");

     2) 操作表单元素

             val( )

           获取值:

     alert($("input").val());

    设置值

     $("input").val("hhh");

  十、文档操作(DOM操作)

         <body>

        

        <div id="box">

        <p>这是一个p</p>

        <span>哈哈哈</span>  

        </div>

    </body>

   dom对象:var p=document.getElementsByTagName("p")[0];

//  $("#box").append(p);//哈哈哈   这是一个p

1)append(字符串/jquery对象/DOM对象)      在父元素下添加子元素和内容到最后

     a.$("#box").append("<span>我是哈哈</span>")

  b.var p=document.getElementsByTagName("p")[0];

     $("#box").append(p);//哈哈哈   这是一个p

2)(字符串/jquery对象).appendTo()        在父元素下添加子元素和内容到最后

      $(将字符串转成jquery).appendTo($("#box"));    

     $("<span>我是第三者</span>").appendTo($("#box"));

3)prepend(字符串/jquery对象/DOM对象)      在父元素下添加子元素和内容到最前面

      $("#box").prepend($("span"));

4)(字符串/jquery对象).prependTo()    在父元素下添加子元素和内容到最前面

     $("span").prependTo($("#box"));

5)before(字符串/jquery对象/DOM对象)   

      添加到与box同级的前面

     $("#box").before("<span>哈哈</span>");

6)(字符串/jquery对象).insertBefore()    添加到与box同级的前面

      ($("p")).insertBefore($("#box"));

     $("<span>我要飞</span>").insertBefore($("#box"));

7)after(字符串/jquery对象/DOM对象)  添加到与box同级的后面

     $("#box").after("<span>我爱的</span>");

8)(字符串/jquery对象).insertAfter()   添加到与box同级的后面

      ($("p")).insertAfter($("#box"));

9)remove()   

      ($("p")).remove(); //删除p标签

10)empty()

      $("#box").empty();//清空id为box元素下的所有标签

11)clone()     

       $("p").clone().appendTo($("#box"));   

拓展:

remove() 与detach区别:

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <title></title>

    </head>

    <body>

        <button id="del">删除</button>

        <button id="add">恢复</button><br>

        <input type="text" name="content" id="content" value="" />

    </body>

</html>

<script src="jquery.js"></script>

<script type="text/javascript">

    $("#content").val("jbibwvlbvliwhy");

    $("#content").blur(function(){

        alert($(this).val());

    })

    $("#del").click(function(){

        input=$("#content").detach();

    })//这里用到detach()方法;失去光标时,会弹出input里面的内容。当删除input,再恢复input时,再失去光标,还是会弹出input里面的内容,而remove不会。(也就是说remove会删除事件)

    $("#add").click(function(){

        $("body").append(input);

    })

</script>

 案例:三级联动:

<!DOCTYPE html>

<html>

    <head>

         <meta charset="UTF-8">

         <title></title>

    </head>

    <body>

         <select name="province">

             <option value="">---- 选择省份----</option>

         </select>

         <select name="city">

             <option value="">---- 选择城市----</option>

         </select>

         <select name="village">

             <option value="">---- 选择城区----</option>

         </select>

    </body>

</html>

<script src="jquery.js"></script>

<script type="text/javascript">

    var province = ["广西","广东","深圳"];

                          

    var city = [["桂林","南宁","柳州"],["东莞","广州","虎门"],["宝安","福田","南山"]];

    

    var village = [[["恭城","平乐","阳朔"],["西乡塘","琅东","朝阳"],["五里卡","L1","L2"]],[["常平","D2","D3"],["G1","G2","G3"],["H1","H2","H3"]],[["后瑞","B2","B3"],["F1","F2","F3"],["西丽","N2","N3"]]];

   for(var i=0;i<province.length;i++){

     var option=new Option(province[i],i);

     $("select[name=province]").append(option);

   }

  $("select[name=province]").change(function(){

     $("select[name=city]")[0].options.length=1;

     $("select[name=village]")[0].options.length=1;

     console.log($("select[name=city]")[0]);

     for(var i=0;i<city.length;i++){

         var option=new Option(city[$(this).val()][i],i);

         $("select[name=city]").append(option);

     }

  });

    $("select[name=city]").change(function(){

     $("select[name=village]")[0].options.length=1;

     for(var i=0;i<village.length;i++){

  var option=new Option(village[$(":selected").val()][$(this).val()][i],i);       

         $("select[name=village]").append(option);

     }

    })

</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值