DocumentFragmentに対するgetElementsBy.*Name
DocumentFragmentには、getElements系のメソッドがなくて、firstChildとかに対して直接指定しなければいけない。
querySelectorとquerySelectorAllはDocumentFragmentに対して使うことができるので、下のようにすれば使うことができる。
ただし、戻り値は静的。
DocumentFragment.prototype.getById = function(id) this.querySelector("#" + id); DocumentFragment.prototype.getByClassName = function() this.querySelectorAll("." + Array.join(arguments, ",.")); DocumentFragment.prototype.getByTagName = function() this.querySelectorAll(Array.join(arguments, ",")); DocumentFragment.prototype.getByName = function() this.querySelectorAll(Array.map(function(s)"[name=" + s + "]").join(",")); var range = document.createRange(); range.selectNode(document.documentElement); range.cloneContents().getByClassName("day");