removeattr - quitar atributo jquery
Eliminar elemento del objeto jQuery (3)
Como ya se señaló, $.filter()
es una excelente opción para filtrar datos. Tenga en cuenta también que el objeto jQuery puede manejarse como una matriz , y como tal, puede usar métodos de matriz como splice()
en ella.
var people = $(".people");
people.splice(2,1); // Remove 1 item starting from index 2
jQuery facilita la eliminación de nodos del DOM. Pero, ¿cómo eliminar algo del objeto jQuery?
Si está hablando de eliminar nodos del objeto jQuery, use las funciones de filter
o not
. Vea aquí para más .
Cómo utilizar el filter
:
var ps = $(''p'');
//Removes all elements from the set of matched elements that do
//not match the specified function.
ps = ps.filter(function() {
//return true to keep it, false to discard it
//the logic is up to you.
});
o
var ps = $(''p'');
//Removes all elements from the set of matched elements that
//do not match the specified expression(s).
ps = ps.filter(''.selector'');
Cómo utilizar not
:
var ps = $(''p'');
//Removes elements matching the specified expression
//from the set of matched elements.
ps = ps.not(''.selector'');
<ul>
<li class="1" />
<li class="2" />
<li class="3" />
<li class="4" />
<li class="5" />
</ul>
El filtro se repite sobre la colección de objetos jQuery. Para cada uno de los elementos: Devuelva true
dentro de filter()
para mantener el elemento actual en la colección de objetos jQuery. Devuelve false
para eliminar el objeto actual de la colección de objetos jQuery.
$("li").filter(function ()
{
if (this.className == "1" || this.className == "2") return true;
return false;
});
En este caso; la función anónima ejecutada por filter()
devolverá verdadero para el elemento de lista que tiene la clase 1 y / o 2 , eliminando a su vez los últimos tres elementos de lista de la colección de objetos jQuery.
Un ejemplo práctico:
<ul>
<li class="1" />
<li class="2" />
<li class="3" />
<li class="4" />
<li class="5" />
</ul>
Este fragmento de código agrega una clase ("azul") a la lista desordenada. Luego resalta los dos primeros elementos de la lista. Luego adjunta un controlador de clic a los dos primeros elementos de lista:
$(function ()
{
$("ul").addClass("blue").find("li").filter(function ()
{
if (this.className == "1" || this.className == "2") return true;
return false;
}).addClass("highlight").click(function ()
{
alert("I am highlighted!");
});
});