2012-06-05 12 views
12

voglio applicare il mio script su più pagine in modo che var dovrebbe leggere 3 nomi non solo uno; questo è come appare ora:Come ottenere più nomi in un selettore di elementi jQuery?

var first; 
$(document).ready(function() { 
    first = $('[name=body]').val(); 
}); 

bisogno di fare una o "||" o un e "& &" in qualche modo in modo che il nome potrebbe essere 'corpo', 'body2' e 'body3', dipende da quale pagina è. favore aiuto

Grazie tutti,

risposta

14

È possibile elencare più elementi nel selettore, in questo modo:

var body; 
$(function() { 
    body = $('[name=body], [name=body2], [name=body3]').val(); 
}); 
+0

Grazie, funziona :) – Abude

9

Perché non copre tutte le eventualità, utilizzando l'attributo-inizia-con il selettore (attribute^="value"):

var first; 
$(document).ready(function() { 
    first = $('[name^="body"]').val(); 
}); 

Tenete a mente che questo cercherà tutti gli elementi per quella particolare attributo/valore; quindi è meglio limitare la quantità di lavoro del browser deve fare, per esempio identificando un particolare elemento di tipo:

first = $('input[name^="body"]'); 

Inoltre, come selettore restituisce un array il val() sarà preso dal primo l'elemento corrispondente restituito dal selettore, non restituirà un array di valori da tutti gli elementi corrispondenti.

Riferimenti:

+0

Ciao, grazie per la risposta veloce, non è solo il corpo, ho anche altri nomi come m essage per esempio. – Abude

+1

Quindi chiarisci la tua domanda. –

+0

mi dispiace per quello, e grazie per la risposta @David – Abude

0

controllare il mio frammento

$('a[name="' + href + '"]' + ', a[name="' + decodeURIComponent(href) + '"]'); 

e generato selector sarà come

'a[name="May%2FJune"], a[name="May/June"]"' 
Problemi correlati