常用函数
2.2.1 $()函数
DOM提供了document.getElementById方法,可以根据传入的页面元素的id返回相应的元素对象。$()函数是document.getElementById函数的一个简化写法,它比DOM中的方法功能更加强大,比如$()函数可以接受多个参数,返回满足条件的Array对象。在Prototype中$()函数的实现代码如例2-1所示。
Y(nsMK YEG|5m6n/Q0例2-1 $()函数51Testing软件测试网
[!sj@_$F
function $() {51Testing软件测试网%f)WTlX
var results = [], element;51Testing软件测试网)x'Ep,M-VN E I2[
for (var i = 0; i < arguments.length; i++) { // 可以传入多个参数51Testing软件测试网ZC0z&~/Z.g(f8X'L
element = arguments[i];51Testing软件测试网8Q\i1X9y YT!a
A
yh.E
5KA9s*~
@6I9D3Dl:j0 // 如果参数的类型是字符串
d.?2`
T*VmyV/~0 if (typeof element == 'string')51Testing软件测试网avS2f*P)U
element = document.getElementById(element);51Testing软件测试网h!AQ1BX0wK;k&F~
/Vp7S(}#|~x0 results.push(Element.extend(element)); // 将得到的对象加入results数组
@^
e$qK.E
x1[?)I0}51Testing软件测试网/v_,K-q4C4B$R3P B^(o:t
// 如果只返回一个对象,直接返回该对象,如果返回了多个对象,则返回包含所有这些对象的数组51Testing软件测试网e%FnfO?Q
return results.length < 2 ? results[0] : results;
0O1b6c u
|_#Ax0}51Testing软件测试网te3cB5EK mp
从例2-1中可以看到,当$()只有1个输入参数时,它和document.getElementById是等效的,而当$()拥有多个输入参数时,其返回值是一个Array对象,这个数组包含了所有符合条件的对象。例2-2中分别用1个和多个参数调用了$()方法,注意示例中的黑体字。51Testing软件测试网Ezg/FV7eG
例2-2 $()函数应用示例51Testing软件测试网 UuL
H_b5D
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"51Testing软件测试网,g
?Dz.l6MF
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
G-Q*}&SgZ0<html>
L9B2OED7N4o`!x0 <head>
Z;L9R g[E0 <title>chapter 3</title>
(t"c5J+X&Z