11.2笔记

1、js、jQuery区别:1、本质区别:a、js是网页脚本语言,类似java是一种开发常用语言;

              jQuery是基于js语言封装出来的一个前端框架;所以最本质的区别就是js是一种语言,而jQuery是基于该语言的一种框架。

          2、用法区别:a、外观上jQuery对象比js对象多了"$()"

                  b、操作属性的方法不同

                  c、操作样式时方法不同

                  d、使用JavaScript和jQuery分别加载DOM时。JavaScript只会执行一次,而jQuery会执行多次

                  e、js获取id:document.getElementById(‘idName');JQuery:$('#idName')

                  f、js获取class的方法:document.getElementsByClassName;JQuery:$('.className')。

2、js常用选择器:a:getElementById(ID): 返回对指定ID的第一个对象的引用,如果在文档中查找一个特定的元素,最有效的方法是getElementById()。

         b:etElementsByName(name): 返回文档中name属性为name值的元素,因为name属性值不是唯一的,所以查询到的结果有可能返回的是一个数组,而不是一个元素。

         c:getElementsByTagName(tagname): 返回文档中指定标签的元素。

         d:getElementsByClassName():返回文档中所有指定类名的元素。

         e:getElementsByClassName():返回文档中所有指定类名的元素。

         f:querySelectorAll():返回文档中匹配指定css选择器的第一个元素。

3、jQuery选择器:a:基本选择器:

          ID选择器:$(“#myId”)选择ID值等于myId的元素,id值不能重复在文档中,只能有一个id值是myId,所以得到的是唯一的元素。

          标签选择器:$("div”)选择所有的div标签元素,返回div元素节点的数组。

          class选择器:$(".myClass")选择文档中所有使用myClass样式的元素。

          $("*”)选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$("#myId,div,.myclass")

         b:层级选择器:

          $("form input"):选择所有的form元素中的input元素。

          $"#main>*"):选择id值为main的所有的子元素。

          $("label + input"):选择所有的1abe1元素的下一个input元素节点,经测试选择晶返回的是label标签后面直接跟一个input标签的所有input标签元素

          $("#prev~div"):同胞选择器,该选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签。

                             c:基本过滤选择器(基本筛选器):

          $("tr:first"):选择所有tr元素的第一个。

          $("tr:last"):选择所有tr元素的最后一个。

          $("input:not(:checked)+span"):过滤掉:checked的选择器的所有的input元素。

          $("tr:even"):选择所有的tr元素的第0,2,4......个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)。

          $("tr:odd"):选择所有的tr元素的第1,3,5......个元素。

          $("td:eq(2)”):选择所有的td元素中序号为2的那个td元素。

          $("td:gt(4)"):选择td元素中序号大于4的所有td元素。

          $("td:lt(4)"):选择td元素中序号小于4的所有的td元素。

          $(":header"):选择所有的h1....h6元素。

          $("div:animated"):选择正在执行动画的<div>元素。

                              d、内容过滤选择器:

          $("div:contains('John')"):选择所有div中含有John文本的元素。

          $("td:empty"):选择所有的为空(也不包括文本节点)的td元素的数组。

          $("div:has(p)"):选择所有含有p标签的div元素。

          $("td:parent"):选择所有的以td为父节点的元素数组。

         e、可视化过滤选择器(可见性选择器):

          $("div:hidden"):选择所有的被hidden的div元素。

          $("div:visible"):选择所有的可视化的div元素。

         f、属性过滤选择器:

          $("div[id]"):选择所有含有id属性的div元素。

          $("input[name='newsletter']"):选择所有的name属性等于newsletter的input元素。

          $("input[name!-'newsletter']"):选择所有的name属性不等于'newsletter'的input元素。

             $("input[name^='news']"):选择所有的name属性以'news'开头的input元素。

          $("input[name$='news']"):选择所有的name属性以'news'结尾的input元素。

          $("input[name*='man']"):选择所有的name属性包含'news'的input元素。

          $("input[id][name$='man']"):可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以man结尾的元素。

        g、子元素过滤选择器:

          $("div span:first-child"):返回所有的div元素的第一个子节点的数组。

          $("div span:last-child"):返回所有的div元素的最后一个节点的数组。

          $("div button:only—child"):返回所有的div中只有唯—个子节点的所有子节点的数组。

        h、表单元素选择器:

          $(":text"):选择所有的text input元素。

          $(":password"):选择所有的password input元素。

          $(":radio”):选择所有的radio input元素。

          $(":checkbox"):选择所有的checkbox input元素。

          $(":submit"):选择所有的submit input元素。

          $(":image"):选择所有的image input元素。

          $(":reset"):选择所有的reset input元素。

          $(":button"):选择所有的button input元素。

          $(":file"):选择所有的file input元素。

          $(":hidden"):选择所有类型为hidden的input元素或表单的隐藏域。

        i、表单元素过滤选择器:

          $(":enabled"):选择所有的可操作的表单元素。

          $(":disabled"):选择所有的不可操作的表单元素。

          $(":checked"):选择所有的被checked的表单元素。

          $("select option:selected"):选择所有的select 的子元素中被selected的元素。

        j、其他选择器:

          $("A B”)查找A元素下面的所有子节点,包括非直接子节点。

          $(“A>B”)查找A元素下面的直接B子节点。

          $(“A+B”)查找A元素后面的兄弟节点,包括非直接子节点。

          $(“A~B”)查找A元素后面的兄弟节点,不包括非直接子节点。

          next();//当前元素之后的紧邻着的第一个兄弟元素(下一个)。

          nextA11();//当前元素之后的所有兄弟元素。

          prev();//当前元素之前的紧邻着的兄弟元素(上一个)。

          prevA11();//当前元素之前的所有兄弟元素。

          siblings();//当前元素的所有兄弟元素。

          不仅可以使用选择晶进行进行绝对定位,还可以进行相对定位,只要在$()指定第二个参数,第二个参数为相对的元素。例如:$(“u1”,$(“div”)).

          css(“background”,“red”);表示选择在所有div元素节点下的u1元素。

 4、js和jQuery对象之间的转换:

          a、js对象转换成jquery对象。 $(js对象);   

          b、jquery对象转换成js对象。 (1)jquery对象[索引值] (2)jquery对象.get(索引值).         

          例:首先定义一个JQuery与js对象。var jq = $("#btn");因为jQuery是js的方法集合 可以将jQuery当成伪数组 运用数组特点将之转换。

          jQuery --> js:(1). var js = jq[0];或者使用get方法将之转换:(2).var js = jq.get(0)。

             js --> jQuery:最简单的方法,运用$将js对象转换 简单粗暴:var jq = $(js);

        

posted @ 2021-11-02 17:08  南瓜~  阅读(45)  评论(0)    收藏  举报