使用jQuery快速高效制作网页交互特效——06 第六章 jQuery选择器

1、jQuery选择器:jQuery选择器类似于CSS选择器,用来选取网页中的元素。

        Eg:$("h3").css("background","#09F");

               分析:  获取并设置网页中所有<h3>元素的背景

            “h3”为选择器语法,必须放在$()中

             $(“h3”)返回jQuery对象

                  .css()是为jQuery对象设置样式的方法

2、 jQuery选择器的优势:


简洁的写法:

  $()函数在很多javaScript库中都被当成一个选择器函数来使用,在jQuery中也是如此。$(“#id”)等同于document.getElementById(“id”)。

完善的处理机制:

  使用jQuery选择器不仅比使用传统的getElementById()和getElementsByTagName()函数简洁的多,还能避免某些错误,适用性更好。

3、jQuery选择器的类型:


分类


详细类型


通过CSS选择器选取元素


基本选择器


层次选择器


属性选择器


通过过滤选择器选择元素


基本过滤选择器


可见性过滤选择器

4、        通过CSS选择器获取元素:


●基本选择器:包括标签选择器、类选择器、ID选择器、并集选择器和全局选择器


名称


语法构成


描述


返回值


示例


标签选择器


element


根据给定的标签名匹配元素


元素集合


$("h2" )选取所有h2元素


类选择器


.class


根据给定的class匹配元素


元素集合


$(" .title")选取所有classtitle的元素


ID选择器


#id


根据给定的id匹配元素


单个元素


$(" #title")选取idtitle的元素


并集选择器


selector1,selector2,...,selectorN


将每一个选择器匹配的元素合并后一起返回


元素集合


$("div,p,.title" )选取所有divp和拥有classtitle的元素


全局选择器


*


匹配所有元素


集合元素


$("*" )选取所有元素


标签选择器根据给定的标签名匹配元素

     $(document).ready(function(){

        $("dt").click(function(){

            $("dd").css("display","block"); //设置<dd>标签中的内容显示出来

       });

      $("h1").css("color","blue");//设置<h1>标签中的字体颜色为蓝色

  })


 


●类选择器根据给定的class匹配元素

  $(".price").css({"background":"#efefef","padding":"5px"});

          //设置class为price元素的背景颜色和内边距(右侧网页中的灰色方框部分)

 

●ID选择器根据给定的id匹配元素

  $("#author").css("color","#083499");   //设置id为author的元素的字体颜色

 

●并集选择器用来合并元素集合

  $(".intro,dt,dd").css("color","#ff0000");

 

●全局选择器可以获取所有元素

  $("*").css("font-weight","bold");     //设置所有元素的字体加粗显示

 

层次选择器:层次选择器通过DOM 元素之间的层次关系来获取元素


名称


语法构成


描述


返回值


示例


后代选择器


ancestor
descendant


选取ancestor元素里的所有descendant(后代)元素


元素集合


$("#menu
span" )选取
#menu下的<span>元素


子选择器


parent>child


选取parent元素下的child(子)元素


元素集合


$("
#menu>span" )选取
#menu的子元素<span>


相邻元素选择器


prev+next


选取紧邻prev元素之后的next元素


元素集合


$("
h2+dl " )选取紧邻
<h2>元素之后的同辈元素<dl>


同辈元素选择器


prev~sibings


选取prev元素之后的所有siblings元素


元素集合


$("
h2~dl " )选取
<h2>元素之后所有的同辈元素<dl>


●后代选择器用来获取元素的后代元素

  $(".textRight
p
").css("color","red");

      
//
设置class为textRight元素中的所有<p>标签的字体全部为红色

 

●子选择器用来获取元素的子元素

    $(".textRight>p").css("color","red");

 

●相邻选择器用来选取紧邻目标元素的下一个元素

  $("h1+p").css(text-decoration","underline");

 

●同辈选择器用来选取目标元素之后的所有同辈元素

  $("h1~p").css("text-decoration","underline");

 

●属性选择器: 属性选择器通过HTML元素的属性来选择元素


语法构成


描述


返回值


示例


[attribute]


选取包含指定属性的元素


元素集合


$(“[hrer]”)选取包含href属性的元素


[attribute=value]


选取指定属性是某个值的元素


元素集合


$(“[href=’#’]”)选取href属性值为#的元素


[attribute=value]


选取指定属性不是某个值的元素


元素集合


$(“[href!=’#’]”)选取href属性值不为#的元素


[attribute^=value]


选取给定属性是以某些特定值开始的元素


元素集合


$("
[href^=‘en‘]" )
选取href属性值以en开头的元素


[attribute$=value]


选取给定属性是以某些特定值结尾的元素


元素集合


$("
[href$=‘.jpg‘]" )
选取href属性值以.jpg结尾的元素


[attribute*=value]


选取给定属性是以包含某些值的元素


元素集合


$("
[href* =‘txt‘]" )
选取href属性值中含有txt的元素


●根据属性名获取元素

  ★属性选择器可以根据是否包含某属性来选取元素

    a标签带有class属性

      $("#news
a[class]").css("background","#c9cbcb");


 


●根据属性值获取元素


1、属性选择器可以根据属性的值来选取元素

    class属性值为hot

      $("#news a[class=‘hot‘]").css("background","#c9cbcb");

 

2、属性选择器可以指定选取不等于属性是某个特定值的元素

        class值不等于hot

      $("#news a[class!=‘hot‘]").css("background","#c9cbcb");

 

 

●根据属性值包含特定的值获取元素


1、属性选择器可以指定属性值以指定值开头的元素

  a标签href属性值以www开头

    $("#news a[href^=‘www‘]").css("background","#c9cbcb");

 

2、属性选择器可以指定属性值以指定值结尾的元素

  a标签href属性值以html结尾

    $("#news a[href$=‘html‘]").css("background","#c9cbcb");

 

3、属性选择器可以指定属性值包含指定值的元素

  a标签href属性值包含“k2”的元素

    $("#news a[href*=‘k2‘]").css("background","#c9cbcb");

 

5、 通过条件过滤选取元素:


通过特定的过滤规则来筛选出所需的DOM元素

主要分类:

      基本过滤选择器

      可见性过滤选择器

      表单对象过滤选择器

      内容过滤选择器、子元素过滤选择器、属性过滤选择器……


●基本过滤选择器:


语法

 
描述


返回值


示例


:first

 
选取第一个元素


单个元素


$(" li:first" )选取所有<li>元素中的第一个<li>元素


:last

 
选取最后一个元素


单个元素


$(" li:last" )选取所有<li>元素中的最后一个<li>元素


:not(selector)

 
选取去除所有与给定选择器匹配的元素


集合元素


$(" li:not(.three)" )选取class不是three的元素


:even

 
选取索引是偶数的所有元素(index0开始)


集合元素


$(" li:even" )选取索引是偶数的所有<li>元素


:odd

 
选取索引是奇数的所有元素(index0开始)


集合元素


$(" li:odd" )选取索引是奇数的所有<li>元素


:eq(index)

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


单个元素


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


:gt(index)

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


集合元素


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


:lt(index)

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


集合元素


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


:header

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


集合元素


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


:focus

 
选取当前获取焦点的元素


集合元素


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


:animated

 
选择所有动画


集合元素


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

  • ●eg:

  div class="contain">

   <h2>祝福冬奥</h2>

   <ul>

     
<li>
贝克汉姆:衷心希望北京能够申办成功!</li>

     
<li>
姚明:北京申冬奥是个非常棒的机会!加油!</li>

  <li> 张虹:北京办冬奥,大家的热情定超乎想象!</li>

     
<li>
肖恩怀特:我爱北京,支持北京申办冬奥会!</li>

     
<li>
赵宏博:北京申办冬奥会是再合适不过了!</li>

     
<li>
你喜欢哪些冬季运动项目?(点击进入调查页)</li>

   </ul>

</div>

 

$(".contain :header").css({"background":"#2a65ba","color":"#ffffff"});

 

$(".contain li:first").css({"font-size":"16px","color":"#e90202"});

 

$(".contain
li:last").css("border","none");

 

$(".contain li:even").css("background","#f0f0f0");


$(".contain
li:odd").css("background","#cccccc");


$(".contain li:lt(2)").css({"color":"#708b02"});



$(".contain
li:gt(3)").css({"color":"#b66302"});


●可见过滤选择器:

  ★通过元素的显示状态(显示/隐藏)来选取 元素。


名称


返回值


语法:示例


选取可见元素


集合元素


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


选取隐蔽的元素


集合元素


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


  Eg$("p:hidden").show();

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

6、 jQuery选择器的注意事项:


●选择器中包含特殊符号

  ★在W3C规范中,规定属性值不能包含有某些特殊字符,解决此类错误的方法是使用转义符转义。

    Eg代码:<div id="id#a">aa</div>

         <div
id="id[2]">cc</div>

                   ◆获取这两个元素的选择器

                       $(“#id#a”);

                               $(“#id[2]”);

            以上代码不能正确获取元素,正确的写法如下:

                            $(“#id\\#a”);

                                $(“#id\\[2\\]”);


选择器中的空格:选择器的书写规范很严格,多一个空格或少一个空格,都会影响选择器的效果

                  Eg1选取class“test”的元素内部的隐藏元素

          var $t_a =
$(".test :hidden"); //
带空格的jQuery选择器

      Eg2:选取隐藏的class“test”的元素

          var $t_b
= $(".test:hidden");  //
不带空格的jQuery选择器

原文地址:https://www.cnblogs.com/HQING/p/9429777.html

时间: 2024-08-25 20:55:19

使用jQuery快速高效制作网页交互特效——06 第六章 jQuery选择器的相关文章

使用JQuery快速高效制作网页交互特效

第二章 JavaScript对象 浏览器对象模型(BOM)是JavaScript的组成之一,window对象是整个BOM的核心 window对象的常用方法 prompt():显示可提示用户输入的对话框 alert():显示一个带有提示信息和一个"确定"的按钮的警示对话框 confirm():显示一个滴啊有提示信息,"确定"和"取消"按钮的对话框 close():关闭浏览器窗口 open():打开一个新的浏览器窗口,加载给定URL制定的文档 set

使用JQuery快速高效制作网页交互特效第二章到第七章

第二章 JavaScript对象 浏览器对象模型(BOM)是JavaScript的组成之一,window对象是整个BOM的核心 window对象的常用方法 prompt():显示可提示用户输入的对话框 alert():显示一个带有提示信息和一个"确定"的按钮的警示对话框 confirm():显示一个滴啊有提示信息,"确定"和"取消"按钮的对话框 close():关闭浏览器窗口 open():打开一个新的浏览器窗口,加载给定URL制定的文档 set

使用jQuery快速高效制作网页交互特效(3)

引入jquery时 不允许在 引入的这行script标签中完成代码的编写 必须另起一行,再写一个script标签完成程序 window.onload事件触发在jquery加载完毕触发之后 window.onload 在当前页面有且仅能存在1个 $(document).ready(function()//在页面加载完毕时 触发 {  alert("hello jquery!"); }); DOM对象是靠 javascript形式获取的元素(节点)信息 所能用的只有javascript中的

使用JQuery快速高效制作网页交互特效-第一章 JavaScript基础

JavaScript: 是一种描述性语言,也是一种基于对象和事件驱动的并具有安全性能的脚本语言. 特点:1.主要用来在HTML页面中添加交互行为. 2.是一种脚本语言,语法和Java类似. 3.一般用于编写客户端的脚本. 4.是一种解释性语言,边执行边解释. 组成:1.ECMAScript标准:描述,规定了脚本语言的标准 2.浏览器对象模型:提供独立于内容与浏览器进行交互的对象 3.文档对象模型:访问操纵HTML文档 JavaScript:写入 HTML 输出: document.write("

使用JQuery快速高效制作网页交互特效——第一章JavaScript基础

一.什么是JavaScript 1.JavaScript概念:JavaScript面向对象事件驱动具有安全性的脚本语言,面向对象2.JavaScript特点:(1)解释性语言,边运行边解释(2)和HTML页面实现交互效果(3)语法类似于Java(4)一搬用于编写客户端脚本3.JavaScript组成:(1)ECMAScript:脚本语言规范(标准)(2)BOM Browser Object Model浏览器对象模型(3)DOM Document Object Model文档对象模型 二.Java

使用jQuery快速高效制作网页交互特效(6)

removeClass() 如果括号中没有参数  移除所有的class属性 var content = $("ul").html(); //获取文本 $("ul").html(text); //对于标签内部的文本替换 var content = $("ul").text(); //获取文本 但是无法获得内部的HTML标签 $("ul").text(text); //替换操作 无法解析HTML标签 就算替换的文本中包含HTML标

使用jQuery快速高效制作网页交互特效(4)

$(function() { $("h1").css("color","#acf"); $("#h1").css("background-color","pink"); //h1标签 并且有一个class属性 值为h1 (交集选择器) $("h1.h1").css("background-color","red"); //div

使用jQuery快速高效制作网页交互特效(5)

//获取点击当前的元素 var text = $(this).html(); keydown 和 keypress 同时触发的 只不过 keypres还针对能打印出字符的按键keyup按键松开时触发 blur 失去焦点 绑定单个事件 bind("事件名",事件内容)$("li").bind("click",function() { alert($(this).html()); }) bindbind({}) 包含大括号事件名 : 事件内容 事件名

使用jQuery快速高效制作网页交互特效(1)

引入外部的js文件   该js文件中 不允许存在<script>标签 //单行注释 /* 多行注释 */ prompt是弹出一个窗口 接受用户的输入  不常用 isNaN  非数字 onclick:鼠标左键 单击事件