2011-04-10 50 views
2

我是一个JavaScript学习者,我得到了一个人写的代码。其中的一部分是这样的:javascript表单中的grabFormSelects()有什么用?

var selects = grabFormSelects(holder, "valueList"); 

它抓住了一个在窗体中选择一个类。 检查:http://jsfiddle.net/YS6mm/12/

我搜索了互联网,我找不到有关“grabFormSelects”的信息。它是什么?

我甚至不能在stackoverlfow上创建标签,因为它是新的。现在我更加好奇!

+1

嗯,它现在在谷歌! :D – 2011-04-10 20:47:19

回答

2

这是一个函数;这是正确的,在你的jsfiddle:

function grabFormSelects(parent, class_name) 
{ 
    //make new array to hold nodes 
    var nodes = []; 
    for(var i=0;i<parent.childNodes.length;i++) 
    { 
     var node = parent.childNodes[i]; 
     //filter out any node that isn't an element node and doesn't have the class name we're looking for 
     if(node.nodeType === 1 && node.className === class_name) 
     { 
      nodes.push(node); 
     } 
    } 
    return nodes; 
} 

它所做的就是寻找一些容器DOM节点(直接在容器中,作为第一代子女)具有“类”属性匹配一些字符串。它返回这些节点的数组。

在页面中,您会注意到所有<select>元素都被赋予类“valueList”。这就是传递给“grabFormSelects()”的函数,因此它获得了所有的<select> DOM节点。

编辑 —澄清,这只是一个普通的旧功能,有人用他们自己的老手键入。这不是任何标准的功能,或标准的解决方案。这并不是什么坏事,但你不会找到关于它的博客文章或类似的东西。

+1

+1对于很好的解释!只是一个小小的评论:也许在写这个函数的时候手是年轻的? ;) – 2011-04-10 20:46:43

+0

@Shadow Wizard哈哈 - 那个成语,“普通老东西*”,只是在美国说“普通”或“不起眼”的口语方式:-)提醒社区的国际化程度总是很有趣的。在这儿。 – Pointy 2011-04-10 21:24:37

+0

是的,真正的巴别塔我们在这里! :) – 2011-04-11 06:50:34

0

你说过,代码是由某人编写的,他想给“grabFormSelects”命名该函数。

相关问题