美文网首页实用前端
js新增类jq的选择器---好用

js新增类jq的选择器---好用

作者: 麦壳儿UIandFE2 | 来源:发表于2017-01-26 13:02 被阅读49次

序:
w3c对DOM主要的两个扩展是selectorAPI和HTML5;selectorAPI致力于让浏览器原生支持css查询。就像jq那样。selectorAPI核心是2个方法: querySelector()和querySelectorAll();兼容性性上从IE8+;现阶段开发基本都是兼容到ie8就ok了,所以这个方法基本可以大胆使用。jq中两大特色是选择器简洁好用,兼容性不用考虑。这个selectorAPI的出现顶的过jq小半边天的地位,毕竟原生支持的要比库的性能更优些吧,毕竟不用引包了。

1. querySelector()

示例:

html:
 <div class="showBox">
    ![](images/pic01.jpg)
</div>
js:
    var oShowBox = document.querySelector('.showBox');
--------------------------------------------------
获取了showBox

注意:
页面要是有一堆的类名叫showBox也只会获取第一个。如果没有,就返回一个null.

2. querySelectorAll()

示例:

html:
  <ul id="smallBoxBot">
        <li>![](images/pic0001.jpg)</li>
        <li>![](images/pic0002.jpg)</li>
        <li>![](images/pic0003.jpg)</li>
    </ul>
js:
    var oGps = document.querySelectorAll('#smallBoxBot img');
--------------------------------------------------
获取了smallBoxBot里的所有img标签

注意:

  • querySelectorAll获取的是一组元素。同时会获取到与这个元素(对象)下的所有属性和方法。

小结:

  • 这两个都是方法,不是属性,书写时不要忘记加括号,且要传参数(css选择器写法一致)。
  • 让浏览器原生支持css查询;底层都是会有一个基础的css解析器做支撑的。这两种方法接受的是css选择符。

3. 扩展---children选择器

选择的是谁的子级。是属性不加括号的。

示例:

html:
  <ul class="smallBoxBot">
        <li>![](images/pic0001.jpg)</li>
        <li>![](images/pic0002.jpg)</li>
        <li>![](images/pic0003.jpg)</li>
    </ul>
js:
 //导航小图所有
var oGps = document.querySelector('.smallBoxBot ').children;
--------------------------------------------------
获取了smallBoxBot里的所有img标签


//导航小图第一张
var oGps = document.querySelector('.smallBoxBot ').children[0];
--------------------------------------------------
获取了smallBoxBot里的第一个img标签

4. 对比传统的DOM选择器

---又臭又长--一不留神就写错了。幸好那时有一个children选择器相助,否则真是欲哭无泪啊。你必须一级一级的获取,而selectorAPI按照需要获取。

示例:

html:
-------------------------------------------------
 <div class="smallBox">
    <div class="smallBoxTop">
        ![](images/pic001.jpg)
        <span></span>
    </div>
    <ul class="smallBoxBot">
        <li>![](images/pic0001.jpg)</li>
        <li>![](images/pic0002.jpg)</li>
        <li>![](images/pic0003.jpg)</li>
    </ul>
</div>
<div class="showBox">
    ![](images/pic01.jpg)
</div>
js:传统选择器写法
 -------------------------------------------------

var oSpan = document.getElementsByTagName('span')[0];
var oSmallBoxTop = document.getElementsByClassName('smallBoxTop')[0];
var oSmallImg = oSmallBoxTop.children[0];
var oShowBox = document.getElementsByClassName('showBox')[0];
var oBigImg = oShowBox.children[0];
var oGps = document.getElementsByClassName('smallBoxBot')[0].children;
 
 js:selectorAPI选择器写法
 -------------------------------------------------
var oSpan = document.querySelector('.smallBoxTop span');
var oSmallBoxTop = document.querySelector('.smallBoxTop');
var oSmallImg = oSmallBoxTop.children[0];
var oShowBox = document.querySelector('.showBox');
var oBigImg = oShowBox.children[0];
var oGps = document.querySelectorAll('.smallBoxBot img');       

----------------------------------------------------喜欢就动动小手哈。------------------------------------------------------

--------------------------------------你的支持是洒家-麦壳-macrolam前进的动力--------------------------------------

相关文章

  • js新增类jq的选择器---好用

    序:w3c对DOM主要的两个扩展是selectorAPI和HTML5;selectorAPI致力于让浏览器原生支持...

  • 前端js学习

    js没有定义类的说法直接创建对象 jq选择器: 选择器改变标签属性

  • JQ二刷

    1. JQ操作和原生JS操作 2.选择器 2.1基本选择器 2.2后代选择器 2.3 索引选择器 2.4 显示隐藏...

  • jQuery速成笔记(一)

    本小爷自从学习了jq,再也不想写原生的js了,出于我对jq的喜爱,今天兴趣来了,想写篇jq的文章。。嘿嘿! 选择器...

  • jq初始,选择器,事件,内容操作,样式操作

    jq初始 jq选择器 jq事件 jq内容操作 jq样式操作

  • css3和html5

    css3如下:↓↓↓ 新增选择器:类选择器、属性选择器 动画: transition过渡 transform变形:...

  • CSS3新增

    1.新增选择器 1.原css选择器 通配符选择器:* 元素选择器:div p 类选择器:.class ID选择器:...

  • 认识ajax

    ajax: google所用知识: html css js jq h5+c3 新增:php+mysq1 Aja...

  • CSS3:基本、属性、伪类选择器

    一、基本选择器 回顾选择器 通配符选择器、元素选择器、类选择器、ID选择器、后代选择器 新增基本选择器 子元素选择...

  • CSS3 基本选择器

    回顾选择器 通配选择器 元素选择器 类选择器 ID选择器 后代选择器 新增基本选择器 子元素选择器(直接后代选择器...

网友评论

    本文标题: js新增类jq的选择器---好用

    本文链接:https://www.haomeiwen.com/subject/ucbxittx.html