<div id="calcwrapper">
<img class="sugarcube" src="images/sugarcube.png" width="13" height="17">
<div id="drinks">
<a id="drink1" href=""><img src="images/drinkicon1.png" width="84" height="81"></a><div class="drink1"></div>
</div>
</div>
Im obigen Beispiel gibt es nur die Schaltfläche für einen Getränk, aber mein Code enthält acht Schaltflächen. Jeder mit einem gleichnamigen klassifizierten div. Was ich versuche ist "dynamisch" die ID des Anchor - Tags (id = "drink1") zu nehmen, um einen Klon sugarcube image (img class = "sugarcube" ...) in den entsprechenden Klassennamen div (class = "drink1"). Ich hoffe, das klingt nicht verwirrend. Vielleicht geben Ihnen die folgenden erfolglosen Versuche eine Vorstellung davon, was ich erreichen möchte.Verwenden von jQuery zum Suchen einer Klasse nach ID-Name
Versuch 1
$(".sugarcube").clone().attr("class", "sugarcube" + i).appendTo($(this).parent((".drink1").attr("class")));
Versuch 2 (Versuch, eine Arbeitslösung über die Konsole zu finden) Proben keine Code
var className = $(this).attr("id");
console.log(className);
console.log($(this).parent().children("div").hasClass(className));
Ich habe gesucht Google und Stackoverflow und haben nicht gefunden. Danke für Ihre Hilfe.
Hier ist der komplette HTML-Code Kontext ...
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.min.js"></script>
<script src="js/jquery-animate-css-rotate-scale.js"></script>
<script>
$(function() {
$(".sugarcube").hide();
var max = 8;
function animateSugarcubes() {
for (var i=1; i<=max; i++) {
$(".sugarcube" + i).css("position", "absolute");
$(".sugarcube" + i).css("top", Math.ceil(Math.random() * (50 - 20) + 20));
$(".sugarcube" + i).css("left", Math.ceil(Math.random() * (85 - 40) + 40));
$(".sugarcube" + i).hide();
}
}
$("#drinks a").click(function() {
for (var i=1; i<=max; i++) {
// Attempt 1
$(".sugarcube").clone().attr("class", "sugarcube" + i).appendTo($(this).parent().children($(this).attr("id")));
// Attempt 2 test code.
var className = $(this).attr("id");
console.log($(this).parent().children("div").hasClass(className));
}
return false;
});
animateSugarcubes();
});
</script>
</head>
<body>
<div id="calcwrapper">
<img class="sugarcube" src="images/sugarcube.png" width="13" height="17">
<div id="drinks">
<a id="drink1" href=""><img src="images/drinkicon1.png" width="84" height="81"></a><div class="drink1"></div>
<a id="drink2" href=""><img src="images/drinkicon2.png" width="84" height="81"></a><div class="drink2"></div>
<a id="drink3" href=""><img src="images/drinkicon3.png" width="84" height="81"></a><div class="drink3"></div>
<a id="drink4" href=""><img src="images/drinkicon4.png" width="80" height="81"></a><div class="drink4"></div>
<a id="drink5" href=""><img src="images/drinkicon5.png" width="84" height="81"></a><div class="drink5"></div>
<a id="drink6" href=""><img src="images/drinkicon6.png" width="84" height="81"></a><div class="drink6"></div>
<a id="drink7" href=""><img src="images/drinkicon7.png" width="84" height="81"></a><div class="drink7"></div>
<a id="drink8" href=""><img src="images/drinkicon8.png" width="84" height="81"></a><div class="drink8"></div>
</div>
</div>
</body>
</html>
Bitte beachten Sie, dass der Anker-Tag verwendet eine ID (id = "drink1"), während die div eine Klasse verwendet (class = "drink1")
In welchem Kontext heißt das? Was ist das im obigen Code? –