1

JavaScript はまったくの初心者です。getElementsByName クエリを実行してノードリストを取得しましたが、htmlcollection を探していました。これは Dom レベルの実装によるものです。

質問: 確実に戻り値の型をテストする必要がありますか、または結果を保証するより良い方法はありますか?

4

1 に答える 1

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;
}
于 2013-06-06T10:17:00.993 に答える