getElementsByName返回nodelist或htmlcollection

时间:2013-06-06 09:59:32

标签: javascript getelementsbyname

全新的javascript。运行getElementsByName查询并得到一个节点列表,但我正在寻找一个htmlcollection。我知道这是由于Dom级别的实现。

Qustion: 我是否应该测试返回类型以确定或是否有更好的方法来确保结果?

1 个答案:

答案 0 :(得分:1)

function isNodeList(nodes) {
 var result = Object.prototype.toString.call(nodes);
 if (typeof nodes === 'object' && /^\[object HTMLCollection|NodeList|Object)\]$/.test(result) && nodes.hasOwnProperty('length') && (nodes.length == 0 || (typeof nodes[0] === "object" && nodes[0].nodeType > 0))) {
  return true;
 }
  return false;
}