gibt es sowieso, um die Klasse zu erhalten, wenn das Klickereignis ausgelöst wird. Mein Code wie unten, es funktioniert nur für ID, aber nicht Klasse.
$(document).ready(function() {
$("a").click(function(event) {
alert(event.target.id + " and " + event.target.class);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<body>
<a href="#" id="kana1" class="konbo">click me 1</a>
<a href="#" id="kana2" class="kinta">click me 2</a>
</body>
</html>
jsfiddle Code hier
javascript
javascript-events
jquery
Redbox
quelle
quelle
className
DOM-Eigenschaft zugeordnet. Verwenden Sieevent.target.className
.Antworten:
Versuchen:
$(document).ready(function() { $("a").click(function(event) { alert(event.target.id+" and "+$(event.target).attr('class')); }); });
quelle
Dies enthält die vollständige Klasse (dies können mehrere durch Leerzeichen getrennte Klassen sein, wenn das Element mehr als eine Klasse hat). In Ihrem Code enthält es entweder "konbo" oder "kinta":
Mit jQuery können Sie nach Klassen nach Namen suchen:
$(event.target).hasClass('konbo');
und um sie mit addClass und removeClass hinzuzufügen oder zu entfernen .
quelle
Sie erhalten die gesamte Klasse im folgenden Array
quelle
$(document).ready(function() { $("a").click(function(event) { var myClass = $(this).attr("class"); var myId = $(this).attr('id'); alert(myClass + " " + myId); }); })
<html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> </head> <body> <a href="#" id="kana1" class="konbo">click me 1</a> <a href="#" id="kana2" class="kinta">click me 2</a> </body> </html>
Das funktioniert bei mir. In jQuery gibt es keine event.target.class-Funktion.
quelle
Wenn Sie jQuery 1.7 verwenden:
alert($(this).prop("class"));
oder:
alert($(event.target).prop("class"));
quelle
Vorsichtig, da es
target
möglicherweise nicht mit allen Browsern funktioniert, funktioniert es gut mit Chrome, aber ich denke, Firefox (oder IE / Edge, kann mich nicht erinnern) ist ein bisschen anders und verwendet srcElement. Normalerweise mache ich so etwasvar t = ev.srcElement || ev.target;
so führt zu
$(document).ready(function() { $("a").click(function(ev) { // get target depending on what API's in use var t = ev.srcElement || ev.target; alert(t.id+" and "+$(t).attr('class')); }); });
Danke für die schönen Antworten!
quelle
target
funktioniert mit Firefox, IE / Edge würde brauchensrcElement