match
match(element, selector) -> Boolean
判断 element 是否匹配参数 selector 指定的 CSS 选择器。
样例
<ul id="fruits">
<li id="apples">
<ul>
<li id="golden-delicious">Golden Delicious</li>
<li id="mutsu" class="yummy">Mutsu</li>
<li id="mcintosh" class="yummy">McIntosh</li>
<li id="ida-red">Ida Red</li>
</ul>
</li>
</ul>
$('fruits').match('ul');
// -> true
$('mcintosh').mat...
makePositioned
makePositioned(element) -> HTMLElement
该方法使你能够方便的创建 CSS 容器块(block),如果 element 的 CSS position 属性初始值为 'static' 或 undefined,它将设置 position 属性为 'relative'。该方法返回元素本身。
为恢复 element 原始的 CSS 位置,请使用 Element.undoPositioned。
样例
考虑一下以下的情形:
<p>lorem […]</p>
<div id="container">
<div id="element" style="position: absolute; top: 20px; left: 20px;"></div>
</div>
让 div#element 的位置 相对 于它的父节点:$('container...
makeClipping
makeClipping(element) -> HTMLElement
通过将超出元素边界的内容设置为 'hidden',来虚拟仅有少数浏览器支持的 CSS clip 属性。返回 element。
为撤消剪切,请使用 Element.undoClipping。
可见区域视 element 的宽和高而定。
样例
<div id="framer">
<img src="/assets/2007/1/14/chairs.jpg" alt="example" />
</div>
$('framer').makeClipping().setStyle({width: '100px', height: '100px'});
// -> HTMLElement
点我测试一下
var Example = {};
Example.clip = function(){
$(...
inspect
inspect(element) -> String
返回 element 的字符描述形式,该方法主要用于调试。
关于 inspect 的更详细的信息,请查看 Object.inspect。
<ul>
<li id="golden-delicious">Golden Delicious</li>
<li id="mutsu" class="yummy apple">Mutsu</li>
<li id="mcintosh" class="yummy">McIntosh</li>
<li></li>
</ul>
$('golden-delicious').inspect();
// -> '<li id="golden-delicious">'
$('mutsu').inspect();
// -> '<li id="mutsu" class=&qu...
insert [1.6]
insert(element, { position: content }) -> HTMLElement
insert(element, content) -> HTMLElement
根据第二个参数 position 属性指定的位置,插入 content 到元素的前面、后面、顶部或底部。 如果第二个参数仅包括 content,则将 content 追加到 element 中。
译注:position 取值为:before、after、top 或 bottom。
可插入的内容为以下几种类型:文本、HTML、DOM 元素以及具有 toHTML 或 toElement 方法的任何对象。
注意:如果插入的 HTML 包含 <script> 标签,插入后将会自动运行标签中所包含的 Javascript 代码(插入 HTML 时,insert...
immediateDescendants [deprecated]
immediateDescendants(element) -> [HTMLElement...]
获取元素的直接后代(即子元素),返回一个数组,数组中的元素已经过 扩展。
在 Prototype 1.6 中,不推荐使用 Element#immediateDescendants,建议采用更友好的 Element#childElements 方法。
返回的数组成员按照元素在页面中的顺序进行排列(例如:索引 0 表示最顶部的子元素)。
注意:所有 Prototype 的 DOM 扩展方法均忽略文本节点,仅返回元素节点。
样例
<div id="australopithecus">
<div id="homo-erectus">
<div id=&qu...
identify [1.6]
identify(element) -> id
如果 element 存在 id 属性,则返回 id 属性值,否则自动为元素生成一个唯一的 id,并返回该 id 值。
样例
初始的 HTML
<ul>
<li id="apple">apple</li>
<li>orange</li>
</ul>
JavaScript
$('apple').identify();
// -> 'apple'
$('apple').next().identify();
// -> 'anonymous_element_1'
最终的 HTML
<ul>
<li id="apple">apple</li>
<li id="anonymous_element_1">orange</li>
</ul>
...
hide
hide(element) -> HTMLElement
将 element 隐藏,并返回该元素。
样例
<div id="error-message"></div>
$('error-message').hide();
// -> 返回 HTMLElement (并且隐藏 div#error-message)
向后兼容性变更
在 Prototype 的先前版本中,可以传递任意数目的元素到 Element.toggle、Element.show 和 Element.hide 中,但在 1.5 版之后,这不再被支持。
但是你可以通过 Enumerables 实现类似的效果:
['content', 'navigation', 'footer'].each(Element.hide);
// -> ['content', 'navigation', 'footer']
// 并隐藏 #content, #navigation 和 #footer。
还有更好的方法:...
hasClassName
hasClassName(element, className) -> Boolean
判断 element 是否包含参数 className 指定的 CSS 类名称。
样例
<div id="mutsu" class="apple fruit food"></div>
$('mutsu').hasClassName('fruit');
// -> true
$('mutsu').hasClassName('vegetable');
// -> false
getWidth
getWidth(element) -> Number
获取 element 的宽度。
通过内联的样式规则或者 CSS 样式表将元素的显示设置为 none 后,这个方法仍然返回元素本身所具有的尺寸,而不是返回 0。
从运行效率方面考虑,如果需要同时查询元素的高度和宽度,建议使用 Element.getDimensions 代替。
注意:所有返回值都仅有数字,单位为像素。
样例
<div id="rectangle" style="font-size: 10px; width: 20em; height: 10em"></div>
$('rectangle').getWidth();
// -> 200
...
getStyle
getStyle(element, property) -> String | null
返回 element 的指定 CSS 属性值。property 可以用标准的 CSS 名称指定,也可以使用 camelized 命名方式指定(译注:例如 CSS 属性 border-width 可以用 border-width 指代,也可用 borderWidth 指代)。
译注:其实该方法等同于 DOM 中 element.style.xxx 系列属性。
不论元素应用内联 CSS 样式,还是应用样式表中指定的样式,该方法均能查询到元素相应的 CSS 属性。对于样式属性 float、 opacity(返回值界于 0 和 1 之间,0 表示完全透明,1 表示完全不透明)、位置属性(left、 top、right 和 bottom)以及隐藏元素的尺寸(width 或 height), 该...
getOffsetParent [Version 1.6]
getOffsetParent(element) -> HTMLElement
返回 element 的容器块(Containing Block)(译注:距离元素最近的 CSS position 属性为 relative 或 absolute 的先代节点)节点,如果不存在这样一个节点,则返回 body 元素。
返回的元素是当前 element 的 CSS containing block。
getHeight
getHeight(element) -> Number
获取 element 的高度。
通过内联的样式规则或者 CSS 样式表将元素的显示设置为 none 后,这个方法仍然返回元素本身所具有的尺寸,而不是返回 0。
从运行效率方面考虑,如果需要同时查询元素的高度和宽度,建议使用 Element.getDimensions 代替。
注意:所有返回值都仅有数字,单位为像素。
样例
<div id="rectangle" style="font-size: 10px; width: 20em; height: 10em"></div>
$('rectangle').getHeight();
// -> 100
...
getElementsBySelector [不推荐]
getElementsBySelector(element, selector...) -> [HTMLElement...]
根据一个或多个指定的 CSS 选择器(字符串),在 element 中查找匹配其中任何一个选择器的后代节点, 并返回一个数组,数组中的元素已经过 扩展。
在 Prototype 1.6 中,不推荐使用 Element#getElementsBySelector 方法,建议使用更简洁的 Element#select。
这个方法类似于 $$(),但是它可以在一个元素的上下文中使用,而不是针对整篇文档。 它们支持的 CSS 语法相同,具体的细节请参考 $$() 的文档。
样例
<ul id="fruits">
<li id="apples">...
getElementsByClassName [不推荐]
getElementsByClassName(element, className) -> [HTMLElement...]
查询 element 下所有具有参数 className 指定的 CSS 类名称的后代节点,并返回一个数组, 数组中的元素已经过 扩展。
在 Prototype 1.6 中,不建议使用 document.getElementsByClassName,因为这个函数的原始实现是返回一个 NodeList,而不是一个 Array。在 v1.6 中,请使用 $$ 或 Element#select 代替。
返回的数组成员按照元素在页面中的顺序进行排列(例如:索引 0 表示 element 的后代节点中具有 CSS 类名称 className 的第一个元素)。
样例
<ul id="fruits"...
getDimensions
getDimensions(element) -> {height: Number, width: Number}
获取 element 的 width 和 height,并返回一个对象,包括宽高的名值对。
通过内联的样式规则或者 CSS 样式表将元素的显示设置为 none 后,这个方法仍然返回元素本身所具有的尺寸,而不是返回 0。
为避免重复调用这个方法,可以考虑使用一个变量缓存返回的值,就像下面的示例一样。如果只是需要 element 的宽度或者高度,請使用 Element.getWidth 或 Element.getHeight 方法。
注意:所有返回值都仅有数字,单位为像素。
样例
<div id="rectangle" style="font-size: 10px; width: 20em; height: 10em"></div&...