2012-06-05 12 views
12

Chcę zastosować mój skrypt na wielu stronach, aby var mógł odczytać 3 nazwy nie tylko jedną; to jak to wygląda teraz:Jak uzyskać wiele nazw w selektorze elementów jQuery?

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

trzeba zrobić lub „||” albo i „& &” jak niektórzy więc nazwa może być „korpus”, „body2” i „body3” zależy od strony. pomóż

Dzięki wszystkim,

Odpowiedz

14

Można wymienić wiele elementów w selektorze, tak:

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

Dzięki, że działa :) – Abude

9

Dlaczego nie obejmują wszystkich ewentualności, stosując atrybut-starts-with selektora (attribute^="value"):

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

Należy pamiętać, że będzie to przeszukać wszystkie elementy, które konkretny atrybut/wartość; więc lepiej ograniczyć ilość pracy przeglądarka ma do czynienia, na przykład poprzez wskazanie konkretnego elementu-Type:

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

także jako selektor zwraca tablicę val() zostanie wzięty z pierwszej pasujący element zwracany przez selektor, nie zwróci tablicy wartości ze wszystkich dopasowanych elementów.

Odniesienia:

+0

Hi, dzięki za szybką reakcję, to nie tylko ciało, mam też inne imiona, takie jak m eessage na przykład. – Abude

+1

Następnie wyjaśnij swoje pytanie. –

+0

Przepraszam za to i dziękuję za odpowiedź @David – Abude

0

sprawdź mój fragment

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

i wygenerowanym selector będzie jak

'a[name="May%2FJune"], a[name="May/June"]"' 
Powiązane problemy