初识JQuery(1)-选择器

初识jquery

在学习jquery之前,就有看过一些相关的视频,才知道它是可以写很少的代码就可以完成很多事的。记得第一写轮播图的时候,首先就百度了篇轮播图的实现,当时还不知道自己百度的其实不是原生的JS代码,而是用jquery完成的,当时也是初识JS,然后就一脸懵逼的看了视频,结果好像还看懂了,于是跟着他的代码像做着世界上最伟大的事一样的敲着代码,编译的时候却没反应,经过一些了解后才发现这是用传说中的jquery完成的。尽管第一次接触jquery不是为接触而接触的,但是也意识到了他强大的功能。

真正接触jquery:

jquery是一种轻量级的javascript库不仅兼容了css3,还兼容各种浏览器。当我们再做一个项目时,需要做一些底层的东西,就是说兼容,像一些方法,网页事件,动画,DOM操作、Ajax封装等,他可以在最底层为事件做兼容,除此外,jquery还具有强大的选择器。

讲真,jquery强大的选择器真的把我给吓到了,虽说“兵不在多而在于精“,但是jquery”多多益善“的各种选择器给我们操作页面元素带来了大大的方便,这里我就先讲讲我对【id选择器、类选择器、元素选择器、全选择器、层级选择器、基本筛选选择器、内容筛选选择器、可见性筛选选择器】的理解即总结。

页面的任何操作都需要节点的支撑,开发者如何快速高效的找到指定的节点也是前端开发中的一个重点。jQuery提供了一系列的选择器帮助开发者达到这一目的,让开发者可以更少的处理复杂选择过程与性能优化,更多专注业务逻辑的编写。

【id选择器】

一个用来查找的ID的选择器,即元素的id属性。

$("#id");

id选择器也是基本的选择器,jQuery内部使用JavaScript函数document.getElementById()来处理ID的获取。原生语法的支持总是非常高效的,所以在操作DOM的获取上,如果能采用id的话尽然考虑用这个选择器

注意:id是唯一的,每个id值在一个页面中只能使用一次。如果多个元素分配了相同的id,将只匹配该id选择集合的第一个DOM元素。但这种行为不应该发生;有超过一个元素的页面使用相同的id是无效的。

【类选择器】

通过class样式类名来获取节点。

$(".class");
<body>
    <div class="aaron">
        <p>class="aaron"</p>
        <p>选中</p>
    </div>
    <div class="aaron">
        <p>class="aaron"</p>
        <p>选中</p>
    </div>
    <div class="imooc">
        <p>class="imooc"</p>
        <p>jQuery选中</p>
    </div>
    <script type="text/javascript">
        //通过原生方法处理
        //样式是可以多选的,所以得到的是一个合集
        //需要通过循环给合集中每一个元素修改样式
        var divs = document.getElementsByClassName(‘aaron‘);
        for (var i = 0; i < divs.length; i++) {
            divs[i].style.border = "3px solid blue";
        }
    </script>
    <script type="text/javascript">
        //通过jQuery直接传入class
        //class选择器可以选择多个元素
        $(".class").css("border", "3px groove red");//groove,展现出来的边框内测是凹进去的,有点像画框边缘。
    </script>
 </body>

jQuery除了选择上的简单,而且没有再次使用循环处理,不难想到$(".imooc").css()方法内部肯定是带了一个隐式的循环处理,所以使用jQuery选择节点,不仅仅只是选择上的简单,还增加很多关联的便利操作。

【元素选择器】

根据给定(html)标记名称选择所有的元素,搜索指定元素标签名的所有节点,这个是一个合集的操作。同样的也有原生方法getElementsByTagName()函数支持。如:$("p");($("element");)

【全选择器】

通配符*意味着给所有的元素设置默认的边距。jQuery中我们也可以通过传递*选择器来选中文档页面中的元素,抛开jQuery,如果要获取文档中所有的元素,通过document.getElementsByTagName()中传递"*"同样可以获取到。但是有时候我们选哟考虑兼容性的我问题。他的描述:$("*");

【层级选择器】

文档中的所有的节点之间都是有这样或者那样的关系。我们可以把节点之间的关系可以用传统的家族关系来描述,可以把文档树当作一个家谱,那么节点与节点直接就会存在父子,兄弟,祖孙的关系了。

选择器中的层级选择器就是用来处理这种关系。(子元素 后代元素 兄弟元素 相邻元素)层级选择器有以下几种表示:

(匹配过滤选择器的用法:

<script type="text/javascript">
        //:not 选择所有元素去除不匹配给定的选择器的元素
        //选中所有紧接着没有checked属性的input元素后的p元素,赋予颜色
        $("input:not(:checked)+p").css("background-color", "#CD00CD");
</script>

选择器之间的相似与不同:

1、层级选择器都有一个参考节点

2、后代选择器包含子选择器的选择的内容

3、一般兄弟选择器包含相邻兄弟选择的内容

4、相邻兄弟选择器和一般兄弟选择器所选择到的元素,必须在同一个父元素下

【基本筛选选择器】

为了方便能直接找到所需的DOM节点元素,jQuery提供了一系列的筛选选择器用来更快捷的找到所需的DOM元素。

筛选选择器的用法与CSS中的伪元素相似,选择器用冒号“:”开头,通过一个列表,看看基本筛选器的描述:

【内容筛选选择器】

基本筛选选择器针对的都是元素DOM节点,如果我们要通过内容来过滤,jQuery也提供了一组内容筛选选择器。几种方式描述:

【可见性筛选选择器】

元素有显示状态与隐藏状态,jQuery根据元素的状态扩展了可见性筛选选择器:visible与:hidden。描述:

如果元素中占据文档中一定的空间,元素被认为是可见的。

我们有几种方式可以隐藏一个元素:

1宽度和高度都显式设置为0。2、CSS visibility的值是hidden,display的值是none。3type="hidden"的表单元素。

【总结】

这里这是jquery的部分选择器,但是看起来都很多了,对于记忆性的东西本来就很枯燥,除了机械记忆外,还应该在不断地练习中掌握它的原理及用法,还有遇到一些简称的代码,最好去查一下他的全称,记忆会更牢固。例如:基本筛选选择器中,eq全称是equal(意思是“等于”);gt全称是greater than(意思是大于);lt全称是less than(意思是小于)。

手已经申请休假了~~~~~~

时间: 2024-12-20 20:00:35

初识JQuery(1)-选择器的相关文章

初识jQuery

jQuery简介 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是"write Less,Do More",即倡导写更少的代码,做更多的事情.它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作.事件处理.动画设计和Ajax交互. jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口:

谜一样的jquery之$选择器

jquery是一个强大的js类库,提供了很多便利的操作方法并兼容不同的浏览器,一旦使用便欲罢不能,根本停不下来,今天我们就来解读一下这个神秘的jquery源代码. 前几天思考再三,自己尝试着封装了一下jquery的$选择器,然而并不完善,我只对id,class,和标签选择器进行了封装,发现其实如果实现浅层的封装那么我们很容易就能够实现,但是一旦我们尝试着选择器的层次嵌套就会出来很多大大小小的坑! 下面我们先来看一下我个人封装的jquery的选择器部分. window.$ = function (

jquery颜色选择器

本站下载 第二种:纯JAVASCRIPT: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2311"> <title>DW调色板</title> <script> var ColorHex=new Array('00','33','66','99','CC','FF') var SpColo

jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法

1 jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 2 3 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 4 $("div") 选择所有的div标签元素,返回div元素数组 5 $(".myClass") 选择使用myClass类的css的所有元素 6 $("*") 选择文档中的所有的元素,可

关于jquery ID选择器的看法

最近看到一道前端面试题: 请优化selector写法:$(".foo div#bar:eq(0)") 我给出的答案会是: 1. $("#bar") 2.  $("div#bar") 下面说说我为什么会给出两种答案 1. 因为页面要求ID是唯一的,题目中的语句,可以直接优化成ID选择 2. 因为jQuery的选择器引擎用的是Sizzle,而$("div#bar")这样的写法,在Sizzle内部,会是一个从右往左的查找顺序,也就是

jQuery 复合选择器应用的几个例子

这篇文章主要介绍了jQuery 复合选择器应用的几个例子,本文例子所引用的jQuery版本为 jQuery-1.8.3.min.js,喜欢的朋友可以学习下 <!-- 本文例子所引用的jQuery版本为 jQuery-1.8.3.min.js --> 一. 复合选择器对checkbox的相关操作 ? 1 2 3 4 5 <input type="checkbox" id="ckb_1" />  <input type="chec

jQuery 过滤选择器

jQuery 选择器(一) 1.ID选择器根据控件ID获取jQeruy,相当于javascript的getelementById.使用方法:$("#myid"),获取ID等于myid的jquery对象. 2.标签选择器使用标签名称获取jQuery,相当于javascript的getElementsByTagName_r().使用方法:$("p"),获取所有p标签.3.class选择器class为元素的定义样式,根据class名称获取jquery对象.如:$(&quo

关于JQuery的选择器

jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div")           选择所有的div标签元素,返回div元素数组 $(".myClass")      选择使用myClass类的css的所有元素 $("*")        

jquery input 选择器

1.9.1 官方文档: 创建一个 <input> 元素必须同时设定 type 属性.因为微软规定 <input> 元素的 type 只能写一次. jQuery 代码: // 在 IE 中无效: $("<input>").attr("type", "checkbox"); // 在 IE 中有效: $("<input type='checkbox'>");   jquery inp