Sie haben vielleicht 0 zu viele <img>
Tags innerhalb Ihrer <div>
.
Um ein Element zu finden, verwenden Sie eine .find()
.
Um Ihren Code sicher zu halten, verwenden Sie eine .each()
.
Verwendung von .find()
y .each()
zusammen verhindert Nullreferenzfehler im Falle von 0 <img>
Elemente und ermöglicht gleichzeitig den Umgang mit mehreren <img>
Elemente.
// Set the click handler on your div
$("body").off("click", "#mydiv").on("click", "#mydiv", function() {
// Find the image using.find() and .each()
$(this).find("img").each(function() {
var img = this; // "this" is, now, scoped to the image element
// Do something with the image
$(this).animate({
width: ($(this).width() > 100 ? 100 : $(this).width() + 100) + "px"
}, 500);
});
});
#mydiv {
text-align: center;
vertical-align: middle;
background-color: #000000;
cursor: pointer;
padding: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="mydiv">
<img src="" width="100" height="100"/>
</div>