使用Prototype选择器获取HTMLElement

时间:2012-01-20 08:33:53

标签: javascript dom prototypejs

原型选择器$$$ ...等返回扩展对象Element。但有时我需要简单的,而不是扩展的HTMLElement对象。如何使用Prototype选择器获取它?

1 个答案:

答案 0 :(得分:2)

你做不到。 Prototype.js修改了Element的原型,其方法由HTMLElement继承。

$相当于document.getElementById,并返回一个普通元素或null
$$document.querySelectorAll类似,但返回Array而不是NodeList

验证它的简单方法,在使用Prototype.js的页面上运行以下代码:

console.log(Object.getOwnPropertyNames(Element));

这不仅仅是prototype,而是打印整个列表,类似于:

cache,Methods,_attributeTranslations,_returnOffset,_getContentFromAnonymousElement,_insertionTranslations,visible,toggle,hide,show,remove,update,replace,insert,wrap,inspect,recursivelyCollect,ancestors,descendants,firstDescendant,immediateDescendants,previousSiblings,nextSiblings,siblings,match,up,down,previous,next,getElementsBySelector,getElementsByClassName,readAttribute,writeAttribute,getHeight,getWidth,classNames,hasClassName,addClassName,removeClassName,toggleClassName,observe,stopObserving,cleanWhitespace,empty,descendantOf,scrollTo,getStyle,getOpacity,setStyle,setOpacity,getDimensions,makePositioned,undoPositioned,makeClipping,undoClipping,cumulativeOffset,positionedOffset,absolutize,relativize,cumulativeScrollOffset,getOffsetParent,viewportOffset,clonePosition,childElements,Simulated,extend,hasAttribute,addMethods,ClassNames,childOf,prototype,length,name,arguments,caller