2009-06-08 11 views

risposta

6

Per la ricerca di elementi all'interno di questo:

$(':visible, any-selector', this) 
$(this).find(':visible, any-selector') 

se si vuole un vero o falso ritorno:

if($(this).is(':visible, any-selector')){ 
    alert('this is visible, or matches "any-selector"'); 
    } 
else{ 
    alert('this is hidden, or doesn\'t match "any-selector"'); 
    } 
1

uso questa sintassi: jQuery(expression, [context])

$(":contains(foo)", this) 
$(":visible", this) 
$("any-selector", this) 
+0

che non è corretto. Selezionerà solo i sottoelementi di "this" –

+0

jQuery (expression, context) è lo stesso di jQuery (context) .find (expression). – Lathan

+0

il voto alto non è correlato alla risposta della domanda, stavo cercando di sapere come usare la parola chiave 'this' con altri selettori –

3

Questo è ciò che il metodo del filtro() è per:

$(this).filter(":contains(foo)"); 
$(this).filter(":visible") 

Secondo la documentazione:

Remo Visualizza tutti gli elementi dal set di elementi corrispondenti che non corrispondono alle espressioni specificate.

+0

Sì, che filtrerà i tuoi elementi abbinati dal tuo selettore, ma i nostri elementi corrispondenti = [questo]. Hai selezionato solo "questo". Quindi se questo non corrisponde al tuo selettore dovresti fare un .size() per dire se è uguale o meno ... trova gli sguardi all'interno degli elementi selezionati, e restituisce una logica risposta vero/falso del selettore sul impostato. – Lathan