$()方法是在DOM中使用过于频繁的document.getElementById()方法的一个便利的简写,就像这个DOM方法一样,这个方法返回参数传入的id的那个元素。
比起DOM中的方法,这个更胜一筹。你可以传入多个id作为参数然后$()返回一个带有所有要求的元素的一个Array对象。下面的例子会向你描述这些。
HTML>
<HEAD>
<TITLE> Test Page </TITLE>
<script src="prototype-1.3.1.js"></script>
<script>
function test1()
{ var d = $('myDiv');
alert(d.innerHTML);
}
function test2()
{
var divs = $('myDiv','myOtherDiv');
for(i=0; i<divs.length; i++)
{
alert(divs[i].innerHTML);
}
}
</script>
</HEAD>
<BODY>
<div id="myDiv"> <p>This is a paragraph</p> </div>
<div id="myOtherDiv">
<p>This is another paragraph</p> </div>
<input type="button" value=Test1 onclick="test1();"><br>
<input type="button" value=Test2 onclick="test2();"><br>
</BODY>
</HTML>
这个方法的另一个好处就是你可以传入id字符串或者元素对像自己,这使得在创建可以传入任何形式参数的方法的时候,它变得非常有用。
使用$F()方法
$F()方法是另一个非常受欢迎的简写。它可以返回任何输入表单控件的值,如文本框或下拉框。这个方法可以传入元素的id或者元素自己。
<script>
function test3()
{
alert( $F('userName') );
}
</script>
<input type="text" id="userName" value="Joe Doe"><br>
<input type="button" value=Test3 onclick="test3();"><br>
使用$A()方法
$A()方法把接收到的参数转换成一个Array对象。
这个方法加上对Array类的扩展,可以很容易的转换或者复制任意的列举列表到Array对象,一个被推荐使用的用法就是转换DOM的NodeLists到一个普通的数组里,可以被更广泛高效的使用,看下面的例子。
<script>
function showOptions()
{
var someNodeList = $('lstEmployees').getElementsByTagName('option');
var nodes = $A(someNodeList);
nodes.each(function(node){
alert(node.nodeName + ': ' + node.innerHTML); });
}
</script>
<select id="lstEmployees" size="10" >
<option value="5">Buchanan, Steven</option>
<option value="8">Callahan, Laura</option>
<option value="1">Davolio, Nancy</option>
</select>
<input type="button" value="Show the options" onclick="showOptions();" >
使用$H()方法
$H()方法把对像转化成可枚举的貌似联合数组Hash对象。
<script>
function testHash()
{ //let's create the object
var a = { first: 10, second: 20,third: 30};
//now transform it into a hash
var h = $H(a);
alert(h.toQueryString()); //displays: first=10&second=20&third=30
}
</script>
使用$R()方法
$R()方法是new ObjectRange(lowerBound, upperBound, excludeBounds)的一个简单快捷的使用方式。
ObjectRange类文档里面有完整的解释。同时,我们来看看一个简单的例子,来演示通过each方法遍历的用法。那个方法的更多解释在Enumerable对像文档里面。
<script>
function demoDollar_R()
{
var range = $R(10, 20, false);
range.each(function(value, index){
alert(value); });
}
</script>
<input type="button" value="Sample Count" onclick="demoDollar_R();" >
使用Try.these()方法
Try.these()方法使得实现当你想调用不同的方法直到其中的一个成功正常的这种需求变得非常容易,他把一系列的方法作为参数并且按顺序的一个一个的执行这些方法直到其中的一个成功执行,返回成功执行的那个方法的返回值。
在下面的例子中, xmlNode.text在一些浏览器中好用,但是xmlNode.textContent在另一些浏览器中正常工作。使用Try.these()方法我们可以得到正常工作的那个方法的返回值。
<script>
function getXmlNodeValue(xmlNode)
{ return Try.these(
function() {return xmlNode.text;},
function() {return xmlNode.textContent;) );
}
</script>
分享到:
相关推荐
《prototype介绍和使用方法》 在JavaScript开发中,Prototype是一个重要的库,由Sam Stephenson创建,主要用于提升Web应用程序的交互性和用户体验,特别是在实现Web 2.0特性时。Prototype库的核心理念是通过提供一...
### 开源JS包Prototype使用指南 #### 1.1 Prototype是什么? Prototype是一个由Sam Stephenson编写的JavaScript库,它提供了一套简洁、高效且易于使用的API来简化Web应用开发过程中的许多常见任务。该库专注于简化...
《Prototype 1.5.1使用手册》是针对JavaScript库Prototype的一个详细指南,该库是Web开发中的一个强大工具,尤其在处理DOM操作、Ajax交互和函数增强方面表现卓越。本手册以.chm(Compiled Help Manual)格式提供,...
Prototype支持Sizzle选择器引擎,允许使用CSS选择器进行元素查找,类似于jQuery。 ```javascript var elements = $$('input[type="text"]'); // 获取所有文本输入框 ``` 通过上述方法,Prototype框架极大地...
我们可以直接在构造函数的`prototype`上添加方法或属性,这样所有通过该构造函数创建的对象都能共享这些方法和属性。例如: ```javascript function Person() {} Person.prototype.name = "张三"; Person.prototype...
由于NodeList不支持Array的方法,我们可以使用`$A`将其转换成Array,这样就可以方便地使用如`each`这样的迭代方法。以下是一个示例: ```javascript var paras = $A(document.getElementsByTagName('p')); paras....
《prototype使用文档》 在JavaScript的世界里,Prototype和Script.aculo.us是两个非常重要的库,它们极大地提升了开发者的效率,并且为网页应用带来了丰富的交互效果。Prototype是一个强大的JavaScript框架,而...
在"使用prototype简化Ajax操作"这个主题中,我们将深入探讨Prototype库如何使Ajax变得更加简单易用。 首先,Prototype为Ajax操作提供了一个统一的接口——`Ajax`对象。这个对象下包含了一系列方法,如`Request`、`...
1.3.1. 使用 $()方法 1.3.2. 使用$F()方法 1.3.3. 使用$A()方法 1.3.4. 使用$H()方法 1.3.5. 使用$R()方法 1.3.6. 使用Try.these()方法 1.4. Ajax 对象 1.4.1. 使用 Ajax.Request类 1.4.2. 使用 Ajax.Updater 类 2. ...
最后,为了方便在Vue组件中使用axios,我们将axios的`post`方法绑定到Vue实例上的`$post`: ```javascript Vue.prototype.$post = function (url, params) { return new Promise((resolve, reject) => { axios....
以上就是关于`prototype.js`文件的基本介绍和使用方法。通过这个库,你可以更高效地进行JavaScript编程,实现丰富的Web交互功能。记得结合`prototype.js`开发手册,深入学习并熟练掌握其各种用法,提升你的...
本压缩包文件“prototype文件以及使用说明.rar”显然提供了关于如何利用和理解`prototype`的相关资料,下面我们将深入探讨`prototype`的相关知识点。 1. **对象原型与原型链** 每个JavaScript对象都有一个内部属性...
Prototype 是一个广泛使用的JavaScript库,由Sam Stephenson创建,旨在简化和增强JavaScript的原生功能,特别是对于构建富客户端Web应用程序。它通过提供强大的对象扩展、DOM操作、以及Ajax交互等工具,使得开发者...
Prototype 是一个广泛使用的JavaScript库,它为浏览器端的开发提供了许多强大的功能,特别是对于处理DOM操作、Ajax交互以及对象扩展等方面。这个“prototype帮助中文文档”涵盖了Prototype库的核心概念、方法和最佳...
《prototype.js 说明文档》是关于JavaScript库prototype.js的详细指南,主要涵盖了其核心概念、通用方法以及Ajax对象的使用等内容。Prototype是一个由Sam Stephenson编写的JavaScript库,旨在简化和增强JavaScript...
它通过扩展JavaScript的`Object.prototype`,使得所有JavaScript对象都能直接使用一些方法,如`extend()`、`clone()`等,来实现对象的复制和扩展。 2. **DOM操作**:PrototypeJS提供了一系列便捷的DOM操作方法,如`...
在这个案例中,"prototype.chm"很可能是Prototype.js的官方中文帮助文档,里面详细介绍了每个函数、类和方法的使用方法、参数和返回值,是学习和使用Prototype.js的重要参考资料。用户可以通过搜索、索引或目录浏览...
- **`Object.prototype.extend`**:该方法使得任何对象都可以直接使用 `extend` 方法来自身扩展其他对象的属性。这是一种链式调用的方式,使得代码更加灵活。 #### 6. Function.prototype.bind 方法 ```javascript...
3. **数组扩展**:Prototype扩展了JavaScript的Array对象,添加了诸如`each`、`map`、`filter`等方法,这些在其他编程语言中的集合操作在JavaScript中也能方便地使用。 4. **Ajax支持**:Prototype简化了异步通信...
Prototype 是一个广泛使用的JavaScript库,设计目的是为了简化JavaScript的开发,尤其是处理DOM操作、AJAX交互以及事件处理等方面的工作。它通过提供一系列实用的工具函数和面向对象的特性,极大地提高了JavaScript...