2017-06-10 11 views
0

Ich möchte ein Bild zu einem div sieht wie folgt mit JQuery und meinen Code anhängen:Anfügen Bild div in JQuery funktioniert nicht

$(".contentdiv")[div].append('<img src="china.jpg" class="contentimg">') 

einen Fehler Dies gibt nicht, aber das wird nicht angezeigt Bild entweder. Wenn ich den [div] Iterator entferne, funktioniert es zwar, aber ich möchte das nicht tun, weil ich in Zukunft vielleicht andere Bilder für verschiedene contentdivs verwenden möchte. Das Problem ist nicht in der [div] aber, weil

$(".contentdiv")[div].style.marginLeft = 30px 

gut funktioniert.

+1

so verwenden können, was '[ div] '?? Nummer?? –

+0

Versuchen Sie: '$ (". Contentdiv ") [div] .append (" ")' (Beachten Sie die verwendeten Anführungszeichen.) –

Antwort

0

Sie das Objekt jQuery Ziel müssen anhängen, nicht nur das Element in der Sammlung zurück. @jafarbtech hat eine gute Lösung, aber man könnte auch einfach wickeln, was Sie haben jetzt in $() ein Objekt aus ihm heraus zu erstellen, damit Sie es mit $.append()

var div = 1; 
 
$($(".contentdiv")[div]).append('<img src="http://kenwheeler.github.io/slick/img/fonz1.png" class="contentimg">'); 
 
$(".contentdiv")[div].style.marginLeft = '30px';
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="contentdiv"></div> 
 
<div class="contentdiv"></div> 
 
<div class="contentdiv"></div>

1

Verwenden .eq() anderes Bild in verschiedenen contentdiv unter Verwendung $(".contentdiv").eq(0).append('<img src="http://placehold.it/140x158" class="contentimg">');

$(".contentdiv").eq(0).append('<img src="http://placehold.it/140x158" class="contentimg">'); 
 
$(".contentdiv").eq(1).append('<img src="http://placehold.it/150x158" class="contentimg">'); 
 
$(".contentdiv").eq(2).append('<img src="http://placehold.it/160x158" class="contentimg">');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="contentdiv"> 
 
</div> 
 

 
<div class="contentdiv"> 
 
</div> 
 

 
<div class="contentdiv"> 
 
</div>