XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Javascript & Ajax (http://xhtmlforum.de/forumdisplay.php?f=83)
-   -   "each" - frage und "replace" frage (http://xhtmlforum.de/showthread.php?t=73737)

irmen 19.12.2018 18:48

"each" - frage und "replace" frage
 
Hallo ich möchte, wenn das BrowserFenster hochkant ist, andere Bilder laden lassen, als wenn das Browserfenster quer ist.
Ich habe alle Bilder doppelt. der Name ist immer
bildname-g.jpg und bildname-k.jpg
alle relevanten Bilder haben die klasse .bildfest

Die Browserfensterabfrage geht, aber ich stehe jetzt vor zwei Problemen:
1. den bildnamen zu ändern - 2. für jedes Bild mit der Klasse .bildfest.

zu 1. habe ich probiert - aber es geht leider nicht
Code:

$(".bildfest").attr("src", $(this).attr("src").replace("-g", "-k"));
Leider nicht mal für ein Bild.

zu 2. wollte das so machen - aber das geht auch nicht, fürchte ich
Code:

$(".bildfest").each(function(){
var namedesbildes = $(".bildfest").attr("src");
alert(namedesbildes);
    });

mit den zwei Zeilen in der function wollte ich ausprobieren, ob ich dann alle diese alerts bekomme - ich bekomme mehrere alerts - aber immer wieder nur für das erste Bild

Kann mir bitte jemand weiterhelfen? gerne einen link wo der passende Befehl beschrieben ist - ich suche schon so lange herum, aber ich finde nie etwas, das auf mein Problem passt.

Vielen Dank für eure Hilfe!!

protonenbeschleuniger 19.12.2018 21:06

Du willst in der ecah Methode ja nur jeweils im aktuellen Objekt den String ersetzten.
Code:

$(".bildfest").each(function(){
    $(this).attr("src", $(this).attr("src").replace("-g", "-k"));
});


irmen 19.12.2018 23:06

ach ja , wenn du das so schreibst - ganz logisch ... :roll:

Vielen Dank!!!

Gute Nacht!

cloned 20.12.2018 08:16

Warum wird hierfür nicht das picture Element inklusive sources verwendet?

Damit sparst du dir das und kannst für verschiedene Aufllösungen und Orientierungen dein Bild angeben.

Code:

<picture>
    <source srcset="smaller_landscape.jpg" media="(max-width: 40em) and (orientation: landscape)">
    <source srcset="smaller_portrait.jpg" media="(max-width: 40em) and (orientation: portrait)">
    <source srcset="default_landscape.jpg" media="(min-width: 40em) and (orientation: landscape)">
    <source srcset="default_portrait.jpg" media="(min-width: 40em) and (orientation: portrait)">
    <img srcset="default_landscape.jpg" alt="My default image">
</picture>

Beispiel ist von hier kopiert, dort findet man auch weiterführende Erklärungen

irmen 20.12.2018 09:00

Vielen Dank für den Vorschlag!
Das ganze wird in einer WP-Installation verwendet und dort kann man über die custom fields ein Bild auswählen.
Das heißt, ich weiß nicht, welchen Namen das Bild haben wird.
LG Irmen


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:24 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2019, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2019