<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>
W powyższym przykładzie jest tylko przycisk pojedynczego napoju, ale mój kod zawiera osiem przycisków. Każdy z odpowiednikiem o tej samej nazwie, zaklasyfikowanym div. Co próbuję zrobić, to "dynamicznie" pobrać identyfikator znacznika zakotwiczenia (id = "drink1"), aby dołączyć obraz klonu sugarcube (img class = "sugarcube" ...) do równoważnej nazwy klasy div (klasa = "drink1"). Mam nadzieję, że to nie będzie mylące. Być może nieudane próby poniżej dadzą ci wyobrażenie o tym, co próbuję osiągnąć.Użycie jQuery do znalezienia klasy o numerze identyfikacyjnym
Próba 1
$(".sugarcube").clone().attr("class", "sugarcube" + i).appendTo($(this).parent((".drink1").attr("class")));
Próba 2 (stara się znaleźć rozwiązanie do pracy za pośrednictwem konsoli)
var className = $(this).attr("id");
console.log(className);
console.log($(this).parent().children("div").hasClass(className));
Przeszukałem Google i StackOverflow i nie znaleziono żadnych przykłady kodu. Dziękuję za pomoc.
Oto pełna kontekst HTML kod ...
<!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>
Należy pamiętać, że tag kotwicy wykorzystuje identyfikator (id = "drink1"), podczas gdy div używa klasy (class = "drink1")
kontekst, w jakim jest to nazywa? Co to jest "powyższy" w powyższym kodzie? –