最近做模具标套管理时,需要手动配置列的属性数目,导致在jsp页面上需要通过标签的name属性来获得一个数组标签对象,从而做些业务上的判断,公司经常用的prototype.js,随想在js上添加一个document.getElementsByName()的简写方式,类似$()。
//此代码放入prototype.js中
function $S() {
var results = [], element;
for (var i = 0; i < arguments.length; i++) { // 可以传入多个参数
element = arguments[i];
if (typeof element == 'string') // 如果参数的类型是字符串
element = document.getElementsByName(element);
results.push(Element.extend(element)); // 将得到的对象加入results数组
}
// 如果只返回一个对象,直接返回该对象,如果返回了多个对象,则返回包含所有这些对象的数组
return results.length < 2 ? results[0] : results;
}
测试如下:
<html>
<script src="D:/test/prototype.js" type="text/javascript"></script>
<SCRIPT language="JavaScript">
function oncl(){
var e = $S('abc','abec');
for(i=0;i<e.length;i++){
for(j=0;j<e[i].length;j++)
alert(e[i][j].value);
} //多个参数
var d = $S('abc');
for(i=0;i<d.length;i++){
alert(d[i].value);
} //单个参数
}
</SCRIPT>
<body>
<form method="post" name="info">
<input type="text" name="abc" id="abc1" value="11" />
<input type="text" name="abc" id="abc2" value="12" />
<input type="text" name="abc" id="abc2" value="13" />
<input type="text" name="abc" id="abc2" value="14" />
<input type="text" name="abc" id="abc2" value="15" />
<input type="text" name="abec" id="abc2" value="105" />
<input type="text" name="abec" id="abc2" value="150" />
<input type="text" name="abec" id="abc2" value="1150" />
<input type="text" name="abec" id="abc2" value="125" />
<input type="text" name="abec" id="abc2" value="115" />
<input type="text" name="abec" id="abc2" value="1855" />
<input type="button" value="sub" onClick="oncl()" />
</form>
</body>
</html>
分享到:
相关推荐
【JS面向对象之单选框实现】在JavaScript中,面向对象编程是一种常用的设计模式,它允许我们通过类和对象来组织代码,使得代码更易于理解和维护。本篇内容主要讲解如何利用面向对象的方法来实现单选框的功能。 首先...
例如,`$A(document.getElementsByName('checkbox_name'))` 可以将所有名为 "checkbox_name" 的元素收集到数组中。 ##### 2.4 使用 $H() 函数 `$H()` 函数创建一个 Hash 对象,这是一种键值对的集合,类似于 ...
常见的JavaScript库如jQuery、Prototype、Dojo和ExtJS,提供了许多实用的功能,简化了DOM操作、事件处理、动画效果等。尽管这些库功能强大,但本项目的目标是自行创建一个基础库,以提升JavaScript开发技能。创建...
- **高级应用**:如 Prototype 和 MooTools 这样的 JavaScript 框架扩展了 JavaScript,提供了更简洁的语法 `$` 来替代 `document.getElementById()`。例如 `$('id')` 使得获取元素更加方便快捷。 2. **`document....
一些JavaScript库,如Prototype和MooTools,提供了更简洁的语法`$(id)`,它与`document.getElementById()`功能相似,但具有更多扩展功能。 其次,`document.getElementsByName()`用于通过元素的name属性获取一组...
var checkboxes = document.getElementsByName('checkboxes'); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = !checkboxes[i].checked; } } // 可以绑定到一个按钮上,例如: ...