2016-03-21 20 views
0

was ist der richtige weg, um den wert von img src durch die folgende struktur zu holen. Der folgende Code wird leer zurückgegeben.fetch value img src jquery

JS ist (klicken Sie auf Smiley): https://jsbin.com/lelaxam/edit?html,js,output

HINWEIS: Wenn ich den A HREF-Tag rund um das Bild zu entfernen empfange ich das Bild src, wenn ich die A HREF-Tags um IMG lege nicht i erhalten die IMG SRC

HTML:

<td class="sim-row-edit" data-type="testtest" style="padding-right:10px"> 
<a href="http://crezzur.com" target="_blank"> 
<img src="https://img.smileys.nl/152/winky.png" alt="" border="0" width="42" height="42" /> 
</a> 
</td> 

JQUERY:

if (big_parent.attr("data-type") == 'testtest') { 
$("#sim-edit-testtest .image").val(big_parent.children('img').attr("src")); 
$("#sim-edit-testtest .url").val(big_parent.children('a').attr("href")); 
+2

Keiner der Wähler wirklich alles passen, können Sie nicht ein Element mit der ID ' adeneo

+0

indead wie @ haben adeneo sagt, wenn du dir meine jsbin ansiehst, merkst du, dass die a href-Version funktioniert, der img-Teil scheitert aus irgendeinem Grund. Ich habe gesucht und bemerkt, dass Sie suchen müssen, um Kinderelemente zu finden, aber ohne Erfolg für mich. – fungames

+0

@ZakariaAcharki - der Behälter wurde bearbeitet, ich kopierte/klebte den HTML-Code direkt aus dem Behälter, und dann war es adeneo

Antwort

0

dieser Code Greifer und IMG SRC & A HREF zeigen, wie Sie in diesem Beispiel sehen kann: https://jsbin.com/lelaxam/edit?html,js,output

Nur Problem hier ist es ergreift das ERSTE img src wenn findet, wie wähle ich das img src aus, auf dem ich drückte?

$("#sim-edit-testtest .image").val($('img', 'a').attr("src")); 
$("#sim-edit-testtest .url").val(big_parent.children('a').attr("href")); 
0

Sie sollten jQuery.data verwenden, um Werte von data- Attribute abzurufen, nicht jQuery.attr. Wenn Sie Ihr Bild erfolgreich ausgewählt haben, können Sie einfach .attr('src') wie oben beschrieben verwenden.

Sie haben ein Problem in Ihrem Code obwohl Sie versuchen, das Bild falsch zu bekommen. Ihre HTML-Code zeigt:

<img id="sim-edit-testtest .image" src="https://img.smileys.nl/152/winky.png" alt="" border="0" width="42" height="42" /> 

So $('#sim-edit-testtest .image').find('img') ist gut weg von der Markierung. Es sollte zwischen #sim-edit-testtest und .image im Selektor kein Platz sein, da es kein Kind mehr ist, ist es ein Element mit sowohl der Klasse und id, und es gibt kein Kind img Element, es bereits ist das img Element. Probieren Sie stattdessen den folgenden Code aus.

if (big_parent.data('type') == 'testtest') { 
    $('#sim-edit-testtest.image').attr('src'); 
} 

Wahrheit zu sagen, .image im Selektor aufweist, ist auch ein wenig strittig als IDs bereits innerhalb einer Seite eindeutig sein sollte, so kann es weiter vereinfacht werden:

if (big_parent.data('type') == 'testtest') { 
    $('#sim-edit-testtest').attr('src'); 
} 
+0

Ich habe versucht, und immer noch versuchen Sie Ihren Code, aber ich bekomme wirklich kein Ergebnis in meinem Jsbin-Code. – fungames

+0

Ich denke, du kämpfst einen verlorenen Kampf, indem du gegen diesen Code testest.Versuchen Sie, das, was Sie im JSBin-Experiment testen möchten, zu reduzieren (oder verwenden Sie stattdessen JSFiddle). Sie können die Komplexität immer wieder aufbauen, nachdem Sie Ihr Problem gelöst haben. Auch ** Einzug ** Ihren Code! Es hilft Ihnen, den DOM-Baum, mit dem Sie arbeiten, zu visualisieren. – toomanyredirects

+0

Ich habe es gerade für einen Teil auf https://jsbin.com/lelaxam/edit?html,js,output funktioniert, aber nur wenn ich die A-Tags entfernen, wenn ich sie entfernen, zeigen Sie das Bild src, wenn ich die hinzufügen es zeigt nur die href-URL – fungames

0

Sie haben zu verwenden, es wie folgt:

$('#sim-edit-testtest img').attr('src');