déterminer l'entrée vs textarea dans jQuery

Je souhaite effectuer une itération par le biais d'un formulaire, l'ajout de chaque élément d'une zone. Le problème est que certains de ces éléments sont select, input, et des zones de texte. Je sais que je peux utiliser :input pour résoudre le problème ici (même si, je n'ai pas vraiment besoin). Le problème, c'est que je vais avoir de la difficulté à déterminer la façon dont je pourrais voir si oui ou non l'élément est un textarea, input, select, etc. J'ai besoin de le faire correctement, car, autant que je sache, jQuery("input#someinput").val() fonctionne très bien pour les entrées, mais pour un textarea j'ai peut-être besoin jQuery("textarea#sometexarea").text(). Je ne sais pas si cela existe...

De toute façon, voici ma fonction:

function getAllFormElements(id) {

    var elements = new Array();

    jQuery(id).children().map(function(){

        for (var index = 0; index < children.length; index++) {

            elements[i] = jQuery(children[i]).val();

        }

    })

        return elements;
}

source d'informationauteur zeboidlund