Ho un div come questo:JQuery: Ottenere l'elemento principale id di un elemento cliccato
<div id="popupDiv1" class="popupDivClass">
<a id="popupDivClose" class="popupCloseClass">x</a>
</div>
Quando clicco su 'x' (Voglio correre una funzione jquery chiamato disablePopup(id);
dove id è il id del coresponding popupDiv (ho molti popupDiv ciascuno con il proprio tasto X.
al fine di farlo ho implementato il seguente
$(".popupCloseClass").click(function (event) {
var buttonID = $(event.target).attr("id");
var id = $(buttonID).closest("div").attr("id");
disablePopup(id);
});
basicaly ottengo l'id del popupCloseCl il culo ha fatto clic quindi ho ottenuto l'id del suo genitore (il corrispondente popupDiv) tramite il metodo più vicino. quindi chiamo disablePopup.
Ma questo non funziona.
Ho persino provato a utilizzare il metodo var buttonID = $(buttonID).parent().attr("id");
ma non ha funzionato neanche.
Ho anche provato var id = this.id;
Qualsiasi aiuto è molto apprezzato
Grazie
'buttonID' conterrà la stringa' "popupDivClose" '. Se passi a jQuery, cercherà tutti gli elementi con il ** nome tag ** 'popupDivClose'. I selettori ID iniziano con un '#'. Ma poiché 'event.target' (o anche' this') punta già all'elemento che vuoi, usa semplicemente '$ (event.target) .closest (...) ...' o '$ (this) .closest (...) ... '. Raccomando di leggere qualche altro tutorial su jQuery ... –