DAY60 jQuery基础1

jQuery介绍

是一个轻量级的js框架/库,其宗旨是write less do more。

jQuery对象

js的对象叫做dom对象

使用jQuery框架产生的对象是jQuery对象,是对dom对象的包装。jQuery下的对象方法和dom对象方法不能混用,只能各用个的。

约定:如果获取的是 jQuery 对象, 那么要在变量前面加上$

//基本语法
$(selector).action()      //即选择器选择生成对象,对象调用方法

jQuery中文手册:http://jquery.cuishifeng.cn/

对象转换

var $variable = jQuery 对象
var variable = DOM 对象

$variable[0]    jquery对象按索引取出来的是dom对象,如:     
  $("#msg").html()
  $("#msg")[0].innerHTML

查找操作对象

* 选择器*

查找要操作的标签,生成jquery对象
* 基本选择器*

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

基本选择器示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<p id="p1">PPP</p>
<div class="c1">DIV</div>
<div class="c1">DIV</div>
<div class="c1">DIV</div>
<span class="d1">SPAN</span>
<span class="c2">SPAN</span>
<a href="">AAAA</a>

<script src="jquery-3.2.1.js"></script> //导入jquery文件
<script>
    //    基本选择器
    $("#p1").css("color","red") //按照id选择
    $(".d1").css({"color":"green","fontSize":"50px"}) //按照class选择
    $("div").css({"color":"yellow","fontSize":"35px"}) //按照标签名div选择
    //$("*").css({"color":"blue","fontSize":"30px"}) //body下的所有标签
    $(".c2,a").css({"color":"gray","fontSize":"30px"}) //多个条件用空格隔开


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

基本选择器示例

注意,获取的jquery对象是一个集合,jquery对象在做方法调用进行属性操作的时候,会把集合里的所有元素都循环一次执行

层级选择器

$(".outer div")   //后代
$(".outer>div")   //子代
$(".outer+div")   //毗邻
$(".outer~div")   //普通兄弟

同css组合选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<p>p6</p>
<div class="outer">
    <div class="inner">
        <p>p3</p>
        <div>DIV</div>
    </div>
    <p>p2</p>
</div>
<p>p1</p>
<p>p4</p>

<script src="../2017.8.14/jquery-3.2.1.js"></script>
<script>

    $(".outer p").css("color","red")   //后代
    //$(".outer>p").css("color","red")     //子代
    //$(".outer+p").css("color","red")       //毗邻
    //$(".outer~p").css("color","red")       //普通兄弟,向下不向上

</script>

</body>
</html>

层级选择器示例

* 属性选择器*

$('[id]')    //属性名
$('[id="div1"]')    //一整条属性
$('["bob="man"][id]')    //多条属性

属性选择器示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div bob="man">bob1</div>
<div bob="man" class="c1">bob2</div>
<div bob="man2">bob3</div>

<script src="../2017.8.14/jquery-3.2.1.js"></script>
<script>
    // ==================属性选择器

     $("[bob]").css("color","red")
//     $("[bob='man']").css("color","red")
//     $("[bob='man'][class]").css("color","red")

</script>

</body>
</html>

属性选择器示例

* 表单选择器*

只针对input表单,按照类型选择

$("[type='text']")
$(":text")    //简写     
$("input:checked").hide();    //hide()方法,隐藏元素
//以上选择器只适用于input标签,input:checked只能用于单选框和复选框

表单选择器示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<input type="text">
<input type="text">
<input type="text" >
<input type="checkbox"  checked="checked">

<script src="../2017.8.14/jquery-3.2.1.js"></script>
<script>
    //  针对input表单
    $("[type='text']").css("border","1px solid red");
    $("input:checked").hide();
    //$(":text").css("border","1px solid green");

</script>

</body>
</html>

表单选择器示例

筛选器

* 基本筛选器*

$("li:first")      //按索引取第一个
$("li:eq(2)")    //按索引取第三个
$("li:even")     //取偶数
$("li:odd")     //取偶数
$("li:gt(1)")    //大于索引1,也有lt小于

基本筛选器示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<ul class="box">
    <li class="item">111</li>
    <li class="item">222</li>
    <li class="item">333</li>
    <li class="item">444</li>
    <li class="item">555</li>
    <li class="item">666</li>
</ul>

<script src="../2017.8.14/jquery-3.2.1.js"></script>
<script>

//    $("li:first").css("color","red");
//    $("li:odd").css("color","red");
//    $("li:even").css("color","red");
//    $("li:eq(3)").css("color","red");
//    $("li:gt(1)").css("color","red");
    $("li:gt(1):lt(3)").css("color","red"); //链式语法,前面的大于1的结果然后在结果上再小于3

</script>

</body>
</html>

基本删选器示例

* 过滤筛选器*
推荐的筛选器写法,可用于传变量

$("li").eq(2)  
$("li").first()  
$("ul li").hasClass("test")  //判断是否存在class为test的元素

过滤删选器示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<ul class="box">
    <li class="item">111</li>
    <li class="item">222</li>
    <li class="item">333</li>
    <li class="item">444</li>
    <li class="item">555</li>
    <li class="item">666</li>
</ul>

<script src="../2017.8.14/jquery-3.2.1.js"></script>
<script>
    var $x=3
    $("ul li").eq($x).css("color","red");
    console.log($("ul li").hasClass('item'));
</script>
</body>
</html>

过滤删选器示例

* 查找筛选器*

//查找子标签:
$("div").children(".test")
$("div").find(".test")      

//向下查找兄弟标签:    
$(".test").next()               
$(".test").nextAll()    
$(".test").nextUntil()

//向上查找兄弟标签:    
$("div").prev()                  
$("div").prevAll()       
$("div").prevUntil()   

//查找所有兄弟标签:    
$("div").siblings()  

//查找父标签:         
$(".test").parent()              
$(".test").parents()     
$(".test").parentUntil()

操作元素(属性、css、文档处理)

事件

* 事件绑定*

jquery_obj集合.事件(function(){})

事件绑定示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<ul id="box">
    <li class="item">111</li>
    <li class="item">222</li>
    <li class="item">333</li>
    <li class="item">444</li>
    <li class="item">555</li>
</ul>

<script src="../2017.8.14/jquery-3.2.1.js"></script>
<script>

     $(".item").click(function () {
         alert($(this).index())
     });

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

事件绑定示例

* 事件委派*
在原有标签基础上,后边添加的标签,继承原有标签的事件

jquery_obj集合.on(事件,[selector],[data],function)

事件委派示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<ul id="box">
    <li class="item">111</li>
    <li class="item">222</li>
    <li class="item">333</li>
    <li class="item">444</li>
    <li class="item">555</li>
</ul>

<button class="add">ADD</button>

<script src="../2017.8.14/jquery-3.2.1.js"></script>
<script>
     $(".item").click(function () {
         alert($(this).index())
     });

    //  on方法
    $("#box").on("click",".item",function () {
    //  alert($(this).html());
        alert($(this).index());
    });

    //添加一个标签,点击该标签显示索引
     $(".add").click(function () {
         $("#box").append("<div class='item'>666</div>")
     });

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

事件委派示例

事件委派清除
清除标签绑定的事件
语法

jquery_obj集合.off(事件)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<ul id="box">
    <li class="item">111</li>
    <li class="item">222</li>
    <li class="item">333</li>
    <li class="item">444</li>
    <li class="item">555</li>
</ul>

<button class="add">ADD</button>
<button class="releave">off</button>

<script src="../2017.8.14/jquery-3.2.1.js"></script>
<script>

    $("#box").on("click",".item",function () {
        alert($(this).index());
    });

     $(".add").click(function () {
         $("#box").append("<div class='item'>666</div>")
     });

    $(".releave").click(function () {
        //绑定给那个对象就解除哪个对象的事件委派
       $("#box").off("click")
    });

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

事件委派清除

* 事件切换*
hover事件

一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。

over:鼠标移到元素上要触发的函数

out:鼠标移出元素要触发的函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .test{
            width: 200px;
            height: 200px;
            background-color: wheat;

        }
    </style>
</head>
<body>


<div class="test"></div>


<script src="../2017.8.14/jquery-3.2.1.js"></script>
<script>
    function enter(){
        alert("enter")
    }
    function out(){
        alert("out")
    }
    $(".test").hover(enter,out)


//    $(".test").mouseenter(function(){
//        alert("enter")
//    });

//    $(".test").mouseleave(function(){
//        alert("leave")
//    });

</script>
</body>

</html>

hover示例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值