Ich habe ähnliche Fragen gesehen, aber sie lösen dieses Problem nicht. Ich habe einen HTML-Code, der wie folgt aussieht:Jquery get Element auf delegiertes Ereignis geklickt
<div id="products" class="container-fluid">
<div class="selected_product_div panel panel-default">
<div class="panel-body">
<a style="{cursor: pointer;}" class = "delete_product pull-right"><i class="fa fa-close"></i></a>
</div>
</div>
</div>
</div>
So, nach dem delegierte Ereignis auslöst, ich mag das <a class="delete_product"></a>
Element erhalten. Aber $(this)
bedeutet das übergeordnete Element <div id="products>
Element.
$("#products").on("click",".delete_product", function(){
console.log($(this).hasClass(".delete_product"));
}
Natürlich loggt die Konsole falsch. Wie kann ich das angeklickte Element erhalten?
$(this).find(".delete_product")
ist keine Option, da es viele Elemente mit der delete_product
Klasse gibt.
Sie var Erklärung dafür verwenden könnte. 'var that = $ (this) .find ('. delete_product');' Innerhalb der Funktion, und Sie haben diese Schaltfläche in Variable. Oder liege ich falsch? – Mardzis
@Mardzis Das geht nicht, da es viele Elemente mit der '.delete_product' Klasse gibt. – alejoss
'$ (this)' sollte Ihr Link sein – putvande