Making a short alias for document.querySelectorAll

前端 未结 9 1665
面向向阳花
面向向阳花 2020-12-12 14:48

I\'m going to be running document.querySelectorAll() a whole lot, and would like a shorthand alias for it.

var queryAll = document.querySelectorAll

queryAll         


        
9条回答
  •  悲&欢浪女
    2020-12-12 15:46

    This seems to work:

    var queryAll = document.querySelectorAll.bind(document);
    

    bind returns a reference to the querySelectorAll function, changing the context of 'this' inside the querySelectorAll method to be the document object.

    The bind function is only supported in IE9+ (and all the other browsers) - https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/bind


    Update: In fact you could create shortcuts to a whole range of document methods like this:

    var query = document.querySelector.bind(document);
    var queryAll = document.querySelectorAll.bind(document);
    var fromId = document.getElementById.bind(document);
    var fromClass = document.getElementsByClassName.bind(document);
    var fromTag = document.getElementsByTagName.bind(document);
    

提交回复
热议问题