2015-04-20 10 views
5

Così il contesto è questo:.get() .prop() non lavorare insieme jquery

ho alcuni ingressi selezionati con le città, quando il valore cambia ho bisogno di cercare l'ID dei livelli nodo padre 9 sopra di quell'ingresso selezionare, quindi dividerlo e quindi ottenere l'ultima parte dell'array data da split.

So che l'ID del nodo di destinazione è nel formato "someName_SomeNumber" come "node_1234".

Ho cercato di farlo su questa funzione: "$ (this) .parents() get (8)"

$("select[name*=id_city_]").change(function(){ 
      alert($(this).parents().get(8).prop("id").split("_").last()); 
      }); 

tutto funziona grande se eseguo, ma quando provo ad ottenere l'ID con prop dice che il prop non è una funzione.

grazie in anticipo.

risposta

5

get() get è il nodo DOM nativo sottostante, che non ha un metodo prop.

Volete eq()

$(this).parents().eq(8).prop("id").split("_").pop() 

o semplicemente usare il nativo id proprietà

$(this).parents().get(8).id.split("_").pop() 

Si noti inoltre che last() è un metodo di jQuery, per ottenere l'ultimo elemento di un array modo nativo, è pop è spento alla fine

+1

'$ (this) .parents(). Get (8) .attr (" id "). Split (" _ "). Pop()' è anche un'altra alternativa – Bassem

+1

@BassemDy - in questo caso si tratta di un eccellente suggerimento, per ID 'attr()' è il metodo più appropriato, non 'prop()', anche se l'ID è una proprietà, ed entrambi funzioneranno. – adeneo

+0

grazie. Sapevo che mi mancava qualcosa del genere. – Xuaspick

Problemi correlati