jQuery 遍历 - map() 方法
实例
构建表单中所有值的列表:
$("p").append($("input").map(function(){} return $(this).val(); ).get().join(", ") );
Definición y uso
map() pasa cada elemento a través de una función en la colección coincidente actual, generando un nuevo objeto jQuery que contiene los valores de retorno.
Sintaxis
.map(callback(index,domElement))
Parámetros | Descripción |
---|---|
callback(index,domElement) | Objeto de función llamado para cada elemento de la colección actual. |
Descripción detallada
Dado que el valor de retorno es un array encapsulado por jQuery, se utiliza get() para procesar el objeto de retorno para obtener el array básico.
.map() método es especialmente útil para obtener o establecer valores de conjuntos de elementos. Piense en el siguiente formulario con una serie de casillas de verificación:
<form method="post" action=""> <fieldset> <div> <label for="two">2</label> <input type="checkbox" value="2" id="two" name="number[]"> </div> <div> <label for="four">4</label> <input type="checkbox" value="4" id="four" name="number[]"> </div> <div> <label for="six">6</label> <input type="checkbox" value="6" id="six" name="number[]"> </div> <div> <label for="eight">8</label> <input type="checkbox" value="8" id="eight" name="number[]"> </div> </fieldset> </form>
Podemos obtener una lista separada por comas de ID de casillas de verificación:
$(':checkbox').map(function() { return this.id; ).get().join(',');
El resultado de esta llamada es la cadena: "two,four,six,eight".
En el interior de la función callback, this se refiere al elemento DOM actual de cada iteración. La función puede devolver un elemento de datos individual o un array de elementos de datos que se deben insertar en la colección de resultados. Si se devuelve un array, los elementos del array se insertarán en la colección. Si la función devuelve null o undefined, no se insertará ningún elemento.