Domanda

Ho una lista di link che hanno un evento click ad essi connessi, ho bisogno di ottenere l'ID dal bambino Un link. Quindi, nell'esempio qui sotto se ho cliccato il primo elemento della lista che avevo bisogno di Google riaccordato.

Ho provato '$this a' ma non riesco a capire la sintassi.

$("ul li").click(function(event){
  $("input").val($(this).html());             
});
<ul>
    <li><a href="http://www.google.com" id="google">Google</a>
</ul>
È stato utile?

Soluzione

Non vedo l'HTML di esempio, ma

$(this).find('a:first').attr('id')

lo farebbe (fix A: prima di selezione se non è quello che volevi dire)

questo vedi l'elemento che ha sparato il vostro evento

Altri suggerimenti

Per rendere il codice un po 'più ordinato, consente legano scatena con le funzioni in questo modo: (Vi consiglio di dare il vostro UL un ID, quindi è specifico per gli elementi solo all'interno di quella UL)

$('ul li').bind('click', getAnchorId);

La funzione che viene chiamata (getAnchorId) ottiene l'attributo ID dell'elemento bambini (a) dell'elemento cliccato (ul li) e lo applica a una variabile (anchorId), e per mostrare la sua ottenere le informazioni corrette ho messo il risultato in un avviso.

function getAnchorId() {
    var anchorId = $(this).children('a').attr('id');
    alert(anchorId);
}

Ora u può fare quello che mai u desiderio con quella variabile:)

Spero che questo aiuti:)

È possibile utilizzare il children metodo:

$(this).children('a').eq(0).attr('id');

Non sono sicuro sulla sintassi, ma qualcosa di simile dovrebbe funzionare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top