2011-08-30 9 views
8

come ottenere l'elemento html per nome usando jquery senza usare id o classe? C'è un modo per farlo?come ottenere elementi per nome usando jquery?

+2

Fornire un esempio del codice HTML in cui si desidera recuperare un oggetto. Stai chiedendo dell'attributo "nome" quando salvi "per nome"? – jfriend00

risposta

1
$('tagName')... 

per <tagName />

o

$('[name="attributeName"]')... 

per <input name="attributeName" />

Il selettore jQuery funziona come un selettore CSS.

+0

questo per ottenere il valore '$ ('[nome =" attributeName "]'). Val();' o usare serialize se si stanno collezionando più valori di un input con lo stesso nome '$ ('[nome = "attributeName \ [\]"] '). serialize(); ' – KeepMove

4

Utilizzare questa:

$('[name=thename]'); 

Nota: Per motivi di prestazioni, è meglio specificare il nome del tag. Quindi, se siete alla ricerca di immagini con un nome di inverno, userete questo:

$('img[name=winter]'); 
+0

sì, ma dovresti usare virgolette attorno al valore – sahar

+1

@sasola: Perché dici così? Ho il trucco per dimostrarlo: http://jsfiddle.net/EbwtP/ –

+0

mettiamo sempre il valore tra virgolette :) – sahar

3

Non sono sicuro se si intende nome del tag o l'attributo di nome. Così qui è al tempo stesso -

attributo Equals Selettore [name = "valore"]

http://api.jquery.com/attribute-equals-selector/

o Selettore elemento (“elemento”)

http://api.jquery.com/element-selector/

// name attribute selector 
$('[name=whatever]').each(function(index) { 
    alert(index); 
    // and of course depending on your element utilize $(this).doSomethingCool 
}); 

// tag name selector for all h1 tags 
$('h1').each(function(index) { 
    alert(index); 
    // and of course depending on your element utilize $(this).doSomethingCool 
}); 
0

get l'elemento con il suo nome come

$("div") 

DEMO

1

In jQuery, è possibile utilizzare un sacco di cose oltre appena id e class. Il CSS3 selector specification è pieno di altre cose che puoi usare e jQuery ha anche più cose di questo credo. Ad esempio, è possibile utilizzare il tipo di tag, i valori degli attributi, la posizione nella gerarchia. Questi sono tutti validi jQuery oggetti di selezione:

$("div") 
$("div span") 
$("[name=nyName]"); 
$("div span [name=nyName]"); 
$("ul li [name=nyName]"); 

In molti casi, si ottengono prestazioni migliori con i selettori in base ai tipi di tag, i valori id e nomi delle classi perché molti browser consentono alla ricerca di quelle in codice nativo.

3

Se si intende l'attributo nome, è questo:

$('[name="value"]') 

Se si intende il nome dell'elemento, quindi è come questo:

$('ul') 
17

Occorre sapere che le uniche risposte corrette che sono stati dati quelli che includevano virgolette attorno al valore dell'attributo, es.

$("[name='value']") 

Si tratta di un requisito obbligatorio per includere le virgolette attorno al valore, vedi: http://api.jquery.com/attribute-equals-selector/

Se si utilizza "nome" in riferimento al Nomenodo o "tag", quindi è sufficiente selezionare da quella stringa:

$("div") 
$("a") 
$("p") 
$("input") 
$("body") 
+0

sì hai ragione, grazie – sahar

+0

Prego! – Rick

0

Per ottenere il valore, è possibile utilizzare più attributi, uno dei quali è l'attributo nome. E.g

$("input[name='nameOfElement']").val();