>  기사  >  웹 프론트엔드  >  javascript_javascript 기술의 querySelector 및 querySelectorAll 사용 소개

javascript_javascript 기술의 querySelector 및 querySelectorAll 사용 소개

WBOY
WBOY원래의
2016-05-16 17:58:151263검색

처음에는 많은 사람들이 jquery의 선택기를 이 두 API와 비교할 것입니다(저도 마찬가지입니다). 유사점과 차이점을 비교하는 것은 괜찮지만, 이로 인해 일부 학생들은 특히 DOM에서 이 API를 호출할 때 브라우저에서 이 두 API의 구현을 오해하게 되었습니다. 요소.
다음은 jsFiddle 예제입니다. 이를 설명하기 위해 사용하겠습니다.
js 코드:

코드 복사 코드 다음과 같습니다:

(function(global) {
global.doc = document;
global.body = doc.getElementsByTagName('body')[0];
global . $ = function(id) {
return doc.getElementById(id);
}
global.Logger = function(id) {
this.logElem = $(id); this .logArr = [];
};
global.Logger.prototype = {
생성자: global.logger,
append: function(comment) {
this.logArr.push( '

' 주석 '

');
},
flush: function() {
this.logElem.innerHTML = this.logArr.join(''); 🎜 >},
clear: function() {
this.logElem.innerHTML = '';
this.logArr = [];
})( this );
(function() {
var logger = new Logger('log');
var items = $('inner').querySelectorAll('#main h4.inside');
logger.append(items.length);
for(var i = 0, len = items.length; i < len; i ) {
logger.append(items[i].innerHTML);
}
logger.flush();
})();
(function(global) {
global.doc = document;
global.body = doc.getElementsByTagName( ' body')[0];
global.$ = function(id) {
return doc.getElementById(id)
}
global.Logger = function(id) {
this .logElem = $(id);
this.logArr = [];
};
global.Logger.prototype = {
생성자: global.logger,
함수( comment ) {
this.logArr.push('

' comment '

')
},
flush: function() {
this.logElem.innerHTML = this.logArr.join('');
},
clear: function() {
this.logElem.innerHTML = '';
this.logArr = []; }
};
})(this);
(function() {
var logger = new Logger('log');
var items = $('inner'). querySelectorAll ('#main h4.inside');
logger.append(items.length)
for(var i = 0, len = items.length; i < len; i ) {
logger .append(items[i].innerHTML);
}
logger.flush()
})()


html 코드:



코드 복사
코드는 다음과 같습니다.
;div id= "inner">

h4 내부 1

h4 내부 2

🎜>
  • 목록 항목 1
  • 성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.