1.什么jQuery选择器

jQuery选择器是jQuery为我们提供的一组方法,让我们更加方便的获取到页面中的元素。注意:jQuery选择器返回的是jQuery对象。

jQuery选择器有很多,基本兼容了CSS1到CSS3所有的选择器,并且jQuery还添加了很多更加复杂的选择器。【查看jQuery文档】

jQuery选择器虽然很多,但是选择器之间可以相互替代,就是说获取一个元素,你会有很多种方法获取到。所以我们平时真正能用到的只是少数的最常用的选择器。

2.在页面中引入jQuery

获取jQuery

官网:http://jquery.com

使用jQuery弹出提示框

<script src="js/jquery-1.12.4.js" type="text/javascript"></script>

3.jQuery语法规则

工厂函数$():将DOM对象转化为jQuery对象

选择器 selector:获取需要操作的DOM 元素

方法action():jQuery中提供的方法,其中包括绑定事件处理的方法

语法:$(selector).action()

4.jQuery操作页面元素

使用addClass( )方法为元素添加样式

使用css( )方法设置元素样式

使用show( )、hide( ) 方法设置元素的显示和隐藏

5.jQuery应用方法:addClass()、css()方法、show() 、hide()、 next()

1)使用jQuery弹出提示框

<script>
$(document).ready(function() {                //为页面加载事件绑定方法
alert("我的第一个jQuery示例!");
});
</script>

 

2)addClass()方法:为元素添加样式

语法:jQuery 对象.addClass([样式名]);

示例:

$("tr:odd").addClass("odd");
$("tr:even").addClass("even");

 学院操作——隔行变色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>隔行变色</title>
    <style>
        .even{background: #0099cc}
        .odd{background: #cccccc}
    </style>

</head>
<body>
<table>
    <thead>
    <tr><th>姓名</th><th>性别</th><th>暂住地</th></tr>
    </thead>
    <tbody>
    <tr><td>张飞</td><td></td><td>黄土高坡</td></tr>
    <tr><td>马云</td><td></td><td>杭州</td></tr>
    <tr><td>黄铮</td><td></td><td>北京海淀</td></tr>
    <tr><td>马化腾</td><td></td><td>深圳</td></tr>
    </tbody>
</table>
<script src="../BAO/jquery-3.5.1.js" type="text/javascript"> </script>
<script type="text/javascript">
    $(document).ready(function () {
        $("tr:odd").addClass("odd");//奇数行添加样式
        $("tr:even").addClass("even");//偶数行添加样式
    })
</script>
</body>
</html>

 

3)css( )方法设置元素样式

语法:

css("属性","属性值");

css({"属性1":"属性值1","属性2":"属性值2"...});

示例

$(this).css({"background":"#c81623"});

 

4)show() 和hide()设置元素的显示和隐藏

语法:

$(selector).show( );

$(selector).hide( );

示例:

$(this).children("div").show();
$(this).children("div").hide();

 

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>问答特效</title>
    <style type="text/css">
        h2{padding: 5px;}
        p{display: none;}
    </style>

</head>
<body>
<h2>问世间情为何物?</h2>
<p>
    <strong>子曰:</strong>
    废物
</p>
<script src="js/jquery-3.5.1.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("h2").click(function(){
            $("h2").css("background-color","#CCFFFF").next().css("display","block");
        });
    });
</script>

</body>
</html>

 

6.jQuery代码风格

“$”等同于“jQuery

链式操作:对一个对象进行多重操作,并将操作结果返回给该对象

 示例:$("h2").css("background-color","#ccffff").next().css("display","block")

隐式迭代

示例:

$(document).ready(function() {
$("li").css({"font-weight":"bold","color":"red"
  });
});

 

 

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>隐式迭代</title>
    <style type="text/css">
        li {line-height:22px;}
    </style>
</head>
<body>
<ul>
    <li>数码产品</li>
    <li>家用电器</li>
    <li>妇幼保健</li>
    <li>时尚丽人</li>
</ul>
<script src="js/jquery-3.5.1.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("li").css({"font-weight":"bold","color":"red"});
    });
</script>

</body>
</html>

 

 

 

7.DOM对象和jQuery对象的区别:

 

1.jQuery对象和DOM对象

DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象;

jQuery对象就是通过jQuery包装DOM对象后产生的对象,它是jQuery独有的。如果一个对象是jQuery对象,那么就可以使用jQuery里的方法,例:
$("#foo").html(); //获取id为foo的元素内的html代码,html()是jQuery特有的方法;

2.jQuery对象和DOM对象的互相转换

jquery对象转换成 dom对象
jquery提供了两种方法将一个jquery对象转换成一个dom对象,即[index]和get(index)。

附:平时用到的jquery对象都是通过$()函数制造出来的,$()函数就是一个jquery对象的制造工厂.
建议:如果获取的对象是 jquery对象,那么在变量前面加上$,这样方便容易识别出哪些是jquery对象,例如:
var $variable = jquery对象;
如果获取的是dom对象,则定义如下:
var variable = dom对象

8. jQuery选择器

1.基本选择器:

$("h1").css("color", "blue");  //标签选择器
$(".price").css({"background":"#efefef","padding":"5px"});  //类选择器
$("#author").css("clor", " #083499");  //id选择器
$(".intro,dt,dd").css("color", " #ff0000");  //并集选择器
$("*").css("font-weight", "bold");  //全局选择器

名称用法描述
ID选择器 $(“#id”); 获取指定ID的元素
类选择器 $(“.class”); 获取同一类class的元素
标签选择器 $(“div”); 获取同一类标签的所有元素
并集选择器 $(“div,p,li”); 使用逗号分隔,只要符合条件之一就可。
交集选择器 $(“div.redClass”); 获取class为redClass的div元素
$(document).ready(function(){
    $("dt").click(function(){   //获取<dt>标签并为其添加click事件函数
        $("dd").css("display","block"); //获取<dd>标签设置显示
    });
    $("h1").css("color","blue"); //获取并设置<h1>字体颜色为蓝色
    /* 获取并设置所有class为price的元素背景颜色和内边距 */
     $(".price").css({"background":"#efefef","padding":"5px"});
    /* 获取并设置id为author的元素字体颜色 */
      $("#author").css("color","#083499");
    /* 获取并设置所有<dt>、<dd>、class为intro的元素字体颜色 */
      $(".intro,dt,dd").css("color","#ff0000");
      $("*").css("font-weight","bold");//设置所有元素的字体加粗显示
})

 

2.层次选择器

$(".textRight p").css("color","red");  //后代选择器
$(".textRight>p").css("color", "red"); //子选择器
$("h1+p").css("text-decoration", "underline"); //相邻元素选择器
$("h1~p").css("text-decoration", "underline");   //同辈元素选择器

3.属性选择器

示例

$("#news a[class]").css("background","#c9cbcb");//a标签带有class属性
$("#news a[class='hot']").css("background", "#c9cbcb"); // class为hot
$("#news a[class!='hot']").css("background", "#c9cbcb");// class不为hot
$("#news a[href^='www']").css("background","#c9cbcb");//以www开头
$("#news a[href$='html']").css("background", "#c9cbcb");//以html结尾
$("#news a[href*='k2']").css("background","#c9cbcb"); //包含"k2"的元素

4.基本过滤选择器

 

语法

描述

示例

:eq(index)

选取索引等于index的元素(index从0开始)

$("li:eq(1)" )选取索引等于1的<li>元素

:gt(index)

选取索引大于index的元素(index从0开始)

$("li:gt(1)" )选取索引大于1的<li>元素(注:大于1,不包括1)

:lt(index)

选取索引小于index的元素(index从0开始)

$("li:lt(1) " )选取索引小于1的<li>元素(注:小于1,不包括1)

:header

选取所有标题元素,如h1~h6

$(":header" )选取网页中所有标题元素

:focus

选取当前获取焦点的元素

$(":focus" )选取当前获取焦点的元素

:animated

选择所有动画

$(":animated" )选取当前所有动画元素

 

 

 示例

$(document).ready(function(){
    //用过滤选择器给h2设置背景颜色和字体颜色
    $(".contain :header").css({"background":"#2a65ba","color":"#ffffff"});
    //li 最后一个 没有边框
    $(".contain li:last").css("border","none");

    //改变第一个li的字体大小和颜色
   // $(".contain li:first").css({"font-size":"16px","color":"#e90202"});
    //设置偶数行背景颜色
   // $(".contain li:even").css("background","#f0f0f0");
    //设置奇数行背景颜色
    //$(".contain li:odd").css("background","#cccccc");

    //设置前两个li的字体颜色(从0开始,小于2)
    $(".contain li:lt(2)").css({"color":"#708b02"});
    //设置后两个li的字体颜色(从0开始,大于3)
    $(".contain li:gt(3)").css({"color":"#b66302"});



    //改变第3个li的背景颜色(从0开始
    //$(".contain li:eq(2)").css({"background":"#02acaa"});


});

 

 5.可见性过滤选择器(通过元素显示状态来选取元素)

 

语法

描述

示例

:visible

选取所有可见的元素

$(":visible")选取所有可见的元素

:hidden

选取所有隐藏的元素

$(":hidden") 选取所有隐藏的元素

 

 

$("p:hidden").show();
$("p:visible").hide();

 

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>可见性过滤选择器</title>
<style type="text/css">
    #txt_show {display:none; color:#00C;}
    #txt_hide {display:block; color:#F30;}
</style>
</head>
<body>
<p id="txt_hide">点击按钮,我会被隐藏哦~</p>
<p id="txt_show">隐藏的我,被显示了,嘿嘿^^</p>
<input name="show" type="button" value="显示隐藏的P元素"  id="show"/>
<input name="hide" type="button" value="隐藏显示的P元素" id="hide" />
<script src="js/jquery-1.12.4.js"></script>
<script>
    $(document).ready(function(){
        $("#show").click(function(){
            $("p:hidden").show();
        })
        $("#hide").click(function(){
            $("p:visible").hide();
        })
    })
</script>
</body>
</html>

 

 posted on 2020-06-23 17:19  中国姑娘F  阅读(156)  评论(0编辑  收藏  举报