Ho recentemente fatto un salto nel mondo di jQuery. Ho visto i metodi find()
e filter()
ma non riesco a capire la differenza tra i due.Differenza tra ricerca e filtro
Qual è esattamente la differenza tra i due?
Ho recentemente fatto un salto nel mondo di jQuery. Ho visto i metodi find()
e filter()
ma non riesco a capire la differenza tra i due.Differenza tra ricerca e filtro
Qual è esattamente la differenza tra i due?
find()
restituisce figli degli elementi partita per la data di selezione, filter()
esamina gli elementi corrispondenti e restituisce quelle che anche corrisponde al dato selettore.
find()
find()
restituisce i discendenti degli elementi selezionati che corrispondono al selettore.
Dal doc:
Descrizione: I discendenti di ciascun elemento della attuale serie di elementi accoppiati, filtrato da un selettore.
filtro()
filter()
filtra gli elementi basati sul selettore o la funzione fornita.
Dal doc:
Descrizione: Ridurre l'insieme di elementi corrispondenti a quelli che corrispondono al selettore o superano la prova della funzione.
Mentre cercavo le risposte alla domanda ho trovato un bel blog, spiegando lo stesso. Ecco la link
Inoltre è provarlo su jsfiddle
<html>
<head>
<style>div{ padding:8px; border:1px solid; }</style>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#filterClick").click(function() {
$('div').css('background','white');
$('div').filter('#Fruits').css('background','red');
});
$("#findClick").click(function() {
$('div').css('background','white');
$('div').find('#Fruits').css('background','red');
});
});
</script>
</head>
<body>
<h1>jQuery find() vs filter() example</h1>
<div id="Fruits">
Fruits
<div id="Apple">Apple</div>
<div id="Banana">Banana</div>
</div>
<div id="Category">
Category
<div id="Fruits">Fruits</div>
<div id="Animals">Animals</div>
</div>
<br/><br/><br/>
<input type='button' value='filter(Fruits)' id='filterClick'>
<input type='button' value='find(Fruits)' id='findClick'>
</body>