Ho il seguente:gestore delegato e bambini interiori cliccato
<ul id ='foo'>
<li><p>hello</p></li>
<li><p>hello</p></li>
<li><p>hello</p></li>
</ul>
$('#foo').delegate('li', 'click', function(event) {
var target = $(event.target);
console.log(target);
});
il gestore click viene chiamato ogni volta che uno degli elementi interni p ottiene cliccato, così come gli elementi padre li.
Come posso ottenere un puntatore all'elemento padre li, indipendentemente da quale elemento figlio interno è stato fatto clic? Ad esempio, i miei elementi reali li assomigliano:
<li>
<p>one</p>
<div>
<p>two</p>
</div>
</li>
quindi mi sto trovando devo avere diversi controlli per tornare fino alla Li genitore che è stato cliccato. C'è un modo per selezionare solo il genitore di un tipo come:
$('#foo').delegate('li', 'click', function(event) {
var target = $(event.target).('li');
console.log(target); // will always be parent li element itself?
});
Grazie
che dovrebbe essere 'padre',' genitori' restituirebbe tutti 'li' se si annida' ul's per un menu per esempio. genitore restituirà solo il primo che corrisponde al selettore. – prodigitalson
@prodigitalson - Non è giusto. Il metodo '.parent()' di jQuery esamina solo il genitore immediato. Se si passa un selettore e il genitore immediato non lo corrisponde, si ottiene un oggetto jQuery vuoto. – user113716