호환 문서 구현.query Selector 방법

1162 단어
var querySelector = function(selector) { //TODO  , ;
    var element = null;
    if(document.querySelector) {
        element = document.querySelector(selector);
    } else {
        var selectors = selector.split(' ');
        var context = document;
        for(var i = 0, len = selectors.length; i < len; i++) {
            context = handleQuery(selectors[i], context);
        }
        element = context;
    }
    return element;
};
var handleQuery = function(selector, context) {
    var idSelectorRE = /^#([\w-]+)$/;
    var classSelectorRE = /^\.([\w-]+)$/;
    var tagSelectorRE = /^[\w-]+$/;
    var element = null;
    if(idSelectorRE.test(selector)) {
        element = context.getElementById(selector.substring(1));
    } else if(classSelectorRE.test(selector)) {
        element = context.getElementsByClassName(selector.substring(1))[0];
    } else if(tagSelectorRE.test(selector)) {
        element = context.getElementsByTagName(selector)[0];
    }
    return element;
};

이곳의 관건은 다단계 선택기를 처리하는 데 있다.하지만 동급 다중 유형 선택기를 처리하지 않은 경우 추후 보충하겠습니다.
다음으로 전송:https://www.cnblogs.com/xiaoyucoding/p/7611608.html

좋은 웹페이지 즐겨찾기