jquery

jquery的基础语法:$(selector).action()

1.寻找元素

①选择器

(1)基本选择器

$("*")  $("#id")   $(".class")  $("element")  $(".class,p,div")

 

 (2)层级选择器

$(".outer div")    .outer下的所有div标签
$(".outer>div")   .outer下的儿子级div标签
$(".outer+div")   .outer向下的紧挨着的兄弟div标签
$(".outer~div")   .outer向下的兄弟div标签

 

(3)基本筛选器

$("li:first")    所有li标签之中的第一个标签
$("li:last")   所有li标签之中的最后一个标签
$("li:eq(2)")   所有li标签之中的索引2的标签(也就是第三个标签)
$("li:even")    所有li标签之中的第基数个标签
$("li:odd")     所有li标签之中的第偶数个标签
$("li:gt(3)")   所有li标签之中索引3和之后的所有标签
$("li:lt(3)")   所有li标签之中索引3之前的所有标签

 

(4)属性筛选器

$("[id]")       
$("[id='div1']")
$("[alex='sb'][id]")
$("[alex='sb'][id='ssb']")

 

(5)表单选择器

$("[type='text']")----->$(":text")         注意只适用于input标签  : $("input:checked")

 ②筛选器

(1)过滤筛选器

$("li").eq(2)  
$("li").first()
$("ul li").hasclass("test") 这个标签是否有test属性,返回的是布尔值

 

(2)查找筛选器

 $("div").children(".test")     只找儿子级的
$("div").find(".test")     找所有子孙 --------------------------------------------------------------- $(".test").next()       .test的下一个
$(".test").nextAll()     .test之后的所有
$(".test").nextUntil("#end")   .test和向下方向的#end之间的所有 --------------------------------------------------------------- $("div").prev()          .test的上一个
$("div").prevAll()        .test之前的所有
$("div").prevUntil("#end") .test和向上方向的#end之间的所有 ---------------------------------------------------------------- $(".test").parent()       .test的第一层父亲
$(".test").parents()      .test的最外层父亲
$(".test").parentUntil("#end") .test的主宗当中#end的儿子 ---------------------------------------------------------------- $(".test").siblings()      .test的所有兄弟标签

 

2.操作元素(属性,循环遍历,文档处理,css)

①属性操作

--------------------------属性
①attr,不建议用来操作标签固有属性,例如checked="checked" $(
"").attr("属性名");          获取属性值 
$("").attr("属性名","属性值");     重新设置属性值,属性值可以写多个,"aa bb"        $(
"").removeAttr();           会直接将所有匹配到的元素的该属性删除掉,包括属性名和属性值
②prop,用来处理标签固有属性   $(
"").prop("属性名");          获取属性值,checked这种属性和属性值一样的返回true,false $("").prop("属性名","属性值")      重新设置属性值,属性值可以写多个,"aa bb",如果属性是checked这种,属性值可以写成true/false,也可以写成checked/空
$(
"").removeProp();           仅仅会移除掉所有匹配到的元素的固有属性的值,(不能移除新增属性),属性名会保留。 --------------------------CSS类 $("").addClass(class|fn)        添加标签里class的一个或多个值(值已有的话不添加)|用函数来添加class值 $("").removeClass([class|fn])     删除标签里class的一个或多个值|用函数来删除class值 --------------------------HTML代码/文本/值 $("").html()               获取所有html文档,里面具体的标签也会获取
$("").html([val|fn])          修改里面标签里面的所有,重新设置内容里面的具体标签会生效 $(
"").text()               只获取所有文本内容,里面具体的标签不会获取   
$("").text([val|fn])          修改里面标签里面的所有,重新设置内容里面的具体标签不会生效 $(
"").val()               取标签里的value属性的属性值,value属性只能是标签的固有属性
$("").val("123")           val属性值改成123
--------------------------- $("").css("color","red")
$("").css({"color":"red","background-color":"})

 

②jQuery循环遍历

                 //方式一               
           li=[10,20,30,40]

           $.each(li,function(i,x){    i是索引,x是值

                  console.log(i,x)
})
           //方式二             <p>111</p>             <p>222</p>             <p>333</p>             <p>444</p>
            <div>555</div> $("p,div ").each(function(){ #从111到444依次拿标签
               console.log($(this).html())

                console.log($(this)[0] #跟上面一样的效果   })

 ③文档处理

//创建一个标签对象
    $("<p>")

//内部插入(父子关系)
   新插入的排在最后面
    $("").append(content|fn)      ----->$("p").append("<b>Hello</b>"); 父亲里面插入儿子
    $("").appendTo(content)       ----->$(对象).appendTo("div"); 儿子插入到父亲里
   新插入的排在最前面 $(
"").prepend(content|fn) ----->$("p").prepend("<b>Hello</b>"); 父亲里面插入儿子 $("").prependTo(content) ----->$(对象).prependTo("#foo"); 儿子插入到父亲里 //外部插入(兄弟关系) $("").after(content|fn) ----->$("p").after("<b>Hello</b>");a的下面放入b $("").before(content|fn) ----->$("p").before("<b>Hello</b>");a的上面放入b $("").insertAfter(content) ----->$(对象).insertAfter("#foo");把b放入a的下面 $("").insertBefore(content) ----->$(对象).insertBefore("#foo");把b放入a的上面 //替换 $("").replaceWith(content|fn) ----->$("p").replaceWith("<b>Paragraph. </b>");被替换着***替换着 //删除与清空 $("").empty()  把盒子里的内容清空,盒子不会删除 $("").remove([expr])  把盒子和内部里的内容都删除,盒子被删除 //复制 $("").clone([Even[,deepEven]])
   具体应用:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

</head>
<body>
            <div class="outer">
                <div class="item">
                        <input type="button" value="+" onclick="add(this);">
                        <input type="text">
                </div>
            </div>

<script src="jquery-1.11.3.min.js"></script>
    <script>
            //var $clone_obj=$(self).parent().clone();  // $clone_obj放在这个位置可以吗?
            function add(self){
                // 注意:if var $clone_obj=$(".outer .item").clone();会一遍二,二变四的增加
                 var $clone_obj=$(self).parent().clone();
                 $clone_obj.children(":button").val("-").attr("onclick","removed(this)");
                 $(self).parent().parent().append($clone_obj);
            }
           function removed(self){

               $(self).parent().remove()

           }

    </script>
</body>
</html>

 

④CSS操作

CSS
        $("").css(name|pro|[,val|fn])
    位置
     相对于整个浏览器窗口的偏移量 $(
"").offset().top/left

    相对于已经定位的第一个(最内层)父标签的偏移量 $(
"").position().top/left

     滚动条 $(
"").scrollTop([val]) $("").scrollLeft([val])
     window.onscroll,监听滑轮
     $(window).scrollTop()
     $(window).scrollTop(数字) 尺寸
     content $(
"").height([val|fn]) $("").width([val|fn])

     content+padding $(
"").innerHeight() $("").innerWidth()

     content+padding+border $(
"").outerHeight([soptions]) $("").outerWidth([options])

     content+padding+border+margin
     $("").outerHeight(true)

 

实例返回顶部

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/jquery-2.2.3.js"></script>
    <script>


          window.onscroll=function(){

              var current=$(window).scrollTop();
              console.log(current)
              if (current>100){

                  $(".returnTop").removeClass("hide")
              }
              else {
              $(".returnTop").addClass("hide")
          }
          }


           function returnTop(){
//               $(".div1").scrollTop(0);

               $(window).scrollTop(0)
           }




    </script>
    <style>
        body{
            margin: 0px;
        }
        .returnTop{
            height: 60px;
            width: 100px;
            background-color: darkgray;
            position: fixed;
            right: 0;
            bottom: 0;
            color: greenyellow;
            line-height: 60px;
            text-align: center;
        }
        .div1{
            background-color: orchid;
            font-size: 5px;
            overflow: auto;
            width: 500px;
        }
        .div2{
            background-color: darkcyan;
        }
        .div3{
            background-color: aqua;
        }
        .div{
            height: 300px;
        }
        .hide{
            display: none;
        }
    </style>
</head>
<body>
     <div class="div1 div">
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>
         <p>hello</p>

     </div>
     <div class="div2 div"></div>
     <div class="div3 div"></div>
     <div class="returnTop hide" onclick="returnTop();">返回顶部</div>
</body>
</html>

 

3.事件

①事件绑定

基本格式(简写)

$("button").click(function () {
            var $e=$("<p>").html("123");
            $("body").prepend($e)
    })

 完整形式

绑定事件
$("ul li").bind("click",function(){
    alert(777)
}

解除绑定
$("ul li").unbind("click")

 

②事件委托

$("ul").on("click","li",function(){
    alert(999);
});
把click事件委托给ul,ul再把click事件给li(ul里原本有的li和以后新增加的li)

 

4.动画效果

①显示隐藏

$("div").show()
$("div").hide()
$("div").show(1000)
$("div").hide(1000)
$("div").toggle(),切换(如果当前状态是隐藏,切换函数就是显示,如果当前状态是显示,切换函数就是隐藏)
$("div").toggle(1000)

 

②滑动(上下方向)

$("#content").slideDown(1000);
$("#content").slideUp(1000);
$("#content").slideToggle(1000);

 

 

③显示隐藏(淡入淡出)

$("#id1").fadeIn(1000)
$("#id1").fadeOut(1000)
$("#id1").fadeToggle(1000)
$("#id1").fadeTo(1000,0.4),0.4是变最淡的时候的参数

 

④回调函数

在一个动作结束之后再执行的动作叫回调函数

原本是这样:
$("div").hide(1000)

添加回调函数之后:
$("div").hide(1000,function(){
    alert(123)
})

 

转载于:https://www.cnblogs.com/pakhm/p/9199807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值