prototype$()系列函数的简单使用示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- 首先导入prototype的js文件,在你指定的目录下js-->
<script language="javascript" type="text/javascript" src="js/prototype.js"></script>
<!-- 自定义的js代码-->
<script language="javascript" type="text/javascript">
function showP(){
var paras = $A(document.getElementsByTagName('p'));
paras.each(Element.hide);//隐藏p标签内的所有元素,这句必须用,否则show方法不会执行
$(paras.last()).show();
<!--这是与上面方法等价的prototype形式写法,一般用到invoke方法设置属性参数-->
$A(document.getElementsByTagName('p')).map(Element.extend).invoke('hide');
}
<!--这里是获得两个相同name属性的方法,以性别选择为例-->
function testsex()
{
var sex = document.getElementsByName('sex');
var nodes = $A(sex); <!--这里的$A()必须使用,保证select()方法被扩展 -->
var sexNodes = nodes.select(function(node)
{
return node.checked;
});
sexNodes.each(function(node)
{
alert(node.value);
});
}
</script>
</head>
<body>
<form>
<p>Username:<input type="text" name="user" value="Lily">
<br />分别显示$和$F:
<input type="button" value="$Test" onClick="alert($('user'))">
<input type="button" value=" $FTest " onClick="alert($F('user'))">
</p>
<p>
这里的两个pass分别用name和id表示,但用$F去获得时,只取得前面那个pass的值,而不去管它是name属性还是id属性 <br />
但如果有两个相同的name或id时,也只能获得第一个参数的值,另一个则返回null值<br>
name=pass:<input type="text" name="pass" value="hello"/>
id=pass:<input type="text" id="pass" value="heihei"/>
<br /> 用$F获得pass取得第一个pass对应的值
<input type="button" value="$FTest" οnclick="alert($F('pass'))"/></p>
<br />
<input type="radio" name="sex" value="male" checked="checked"/>男
<input type="radio" name="sex" value="female"/>女
<input type="button" value="$ATest" οnclick="testsex()"/>点击显示单选按钮value值
<br />
<input type="button" value="$ATest" οnclick="showP()"/>点击执行标签隐藏的问题<br>
<input type="button" value="$ATest" οnclick="alert($A('radio'))"/>将radio当作了一个字符数组,逐个输出字母
<p>
</form>
</body>
</html>