jQuery is not must for us--元素选取

来源:互联网 发布:个人顶级域名 编辑:程序博客网 时间:2024/05/17 22:47

元素选择

1 .ID
2 .class
3 .Tag
4 .Attributes
5 .伪类
6 .孩子选择器
7 .后代选择器
8 .排除选择器
9 .多组选择器

ID

jQuery

$("#myElement");

DOM API

document.getElementById("myElement");/*IE 8+*/document.querySelector('#myElement');

class

jQuery

$('.myElement');

DOM API

/*ie 9+*/document.getElementsByClassNmae('.myElement');/*ie 8+*/document.querySelectorAll('.myElement');

Tag

jQuery

$('div');

DOM API

document.getElementsByTagName('div');/**ie 8+/document.querySelectorAll('div');

Attribute[属性]

jQuery

$('[data-bar="red-bar"');

DOM API

/*ie 8+*/document.querySelectorAll('[data-bar="red-bar"');

伪类

jQuery

$('#myForm:invalid');

DOM API

//IE 10+document.querySelectorAll('#myForm:invalid')

孩子选择器

jQuery

$('#parent').children();

DOM API

/*会返回注释和文本节点*/document.getElementById('parent').childNodes/*ie 9+ 忽略注释和文本节点*/document.getElementById('parent').children;

选择包含ng-click属性的子节点

jQuery

$('#parent').children('[ng-click]');$('#parent > [ng-click]');

DOM API

document.querySelector('#parent > [ng-click]');

后代选择

jQuery

$("#parent a");

DOM API

document.querySelectorAll("#parent a");

排除选择

jQuery

$("div").not('.ignore');$('div:not(.ignore)');

DOM API

document.querySelectorAll('div:not(.ignore)');

多重选择

jQuery

$('DIV, A, SCRIPT');

DOM API

document.querySelectorAll('DIV, A, SCRIPT');

jQuery选择器模拟

window.$ = function(selector) {    var selectorType = 'querySelectorAll';    if (selector.indexOf('#') === 0) {        selectorType = 'getElementById';        selector = selector.substr(1, selector.length);    }    return document[selectorType](selector);};

1 0
原创粉丝点击