【问题标题】:Get HTMLElement with Prototype selector使用原型选择器获取 HTMLElement
【发布时间】:2012-02-14 20:31:58
【问题描述】:

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

【问题讨论】:

    标签: javascript dom prototypejs


    【解决方案1】:

    你不能。 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
    

    【讨论】:

      猜你喜欢
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 2011-05-04
      • 2018-09-29
      • 1970-01-01
      • 2011-12-24
      • 1970-01-01
      相关资源
      最近更新 更多