Posted on 2007-01-10 10:29
路易 閱讀(568)
評(píng)論(0) 編輯 收藏 所屬分類:
JavaScript
今天學(xué)習(xí)的是3個(gè)方法:$A() $H() $R()
<
HTML
>
?
<
HEAD
>
??
<
script?
src
="prototype.js"
></
script
>
??
<
script
>
??
function
?showOptions()
??{
????
var
?someNodeList?
=
?$('lstEmployee').getElementsByTagName('option');
????
//
首先通過(guò)$()方法得到select元素,然后通過(guò)getElementsByTagName得到元素里面的子元素(就這么解釋吧,反正給自己看)
????
var
?nodes?
=
?$A(someNodeList);
????
//
$A()函數(shù)能把它接收到的單個(gè)的參數(shù)轉(zhuǎn)換成一個(gè)Array對(duì)象
????
//
這個(gè)方法,結(jié)合被本類庫(kù)擴(kuò)展了的Array類,能方便的把任何可枚舉列表轉(zhuǎn)換成或拷貝到一個(gè)Array對(duì)象。一個(gè)推薦的方法就是把DOM?Node?Lists轉(zhuǎn)換成一個(gè)普通的Array對(duì)象,從而更有效率的進(jìn)行遍歷
????nodes.each(
function
(node){
//
遍歷
????????alert(node.nodeName?
+
?':'?
+
?node.innerHTML);
????});
??}
?
function
?testHash()
?{
????
//
create?the?object
????
var
?a?
=
{first:
20
,second:
20
,third:
30
};
????
var
?h?
=
?$H(a);
//
$H()函數(shù)把一些對(duì)象轉(zhuǎn)換成一個(gè)可以枚舉的和聯(lián)合數(shù)組類似的Hash對(duì)象
????alert(h.toQueryString());
//
輸出first:20&second:20&third:30
?}
?
function
?demoDollar_R()
?{
????
//
$R()函數(shù)是new?ObjectRange(lowBound,upperBound,excludeBounds)的縮寫(xiě)
????
var
?range?
=
?$R(
10
,
20
,
false
);
//
這里的參數(shù)false/true代表了是否顯示上限(也就是這里的20,false是顯示)
????range.each(
function
(value,index){
????????alert(value);
????});
????
//
方法無(wú)非就是依次的在彈出對(duì)話框中輸出10,11,12,13,14,15,16,17,18,19,20
?}
??
</
script
>
?
</
HEAD
>
?
<
BODY
>
???
<
select?
id
="lstEmployee"
?size
="10"
>
??
<
option?
value
="5"
>
Buchanan,Steven
</
option
>
/
<!--
?這里的option子元素將會(huì)被方法showOptions()遍歷輸出?
-->
??
<
option?
value
="8"
>
Callahan,Laura
</
option
>
??
<
option?
value
="1"
>
Davolio,Nancy
</
option
>
?
</
select
><
br
>
?
<
input?
type?
="button"
?value
="show?the?options"
?onclick
="showOptions();"
>
測(cè)試$A()函數(shù)
<
br
>
數(shù)組中的值是:???first:20,second:20,third:30
<
br
>
?
<
input?
type?
="button"
?value
="TestHash"
?onclick
="testHash();"
>
測(cè)試$H()函數(shù)
?
<
br
>
?
<
input?
type?
="button"
?value
="Sample?Count"
?onclick
="demoDollar_R();"
>
測(cè)試$R()函數(shù)
?
</
BODY
>
</
HTML
>