kostenloser Webspace werbefrei: lima-city


Mit JQuery Dateiendungen dynamisch verändern

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    fabo

    Kostenloser Webspace von fabo

    fabo hat kostenlosen Webspace.

    Aloha,

    ich hab da ein Problem :D Es geht um Folgendes:

    Ich möchte mittels JQuery ein Array abarbeiten:

    var pages = ['test', 'blabla', 'xyz'];


    Es handelt sich hierbei um Dateinamen (ohne Endung), die im Dokument verlinkt sind. Diese Dateinamen haben im Dokument die Endung .php und ich möchte gerne .html daraus machen.

    Fragt bitte nicht, warum und wieso :p Fakt ist, dass ich folgendes probiert habe:

    $.each(pages, function(index, value) {
    	$("a[href='" + value + ".php']").attr("href", location.href.substring(0,location.href.lastIndexOf('/')+1) + $("a[href='" + value + ".php']").attr("href").replace('php', 'html')); 
    });


    Das endet leider mit dem Fehler:

    $("a[href='" + value + ".php']").attr("href") is undefined


    Dieser Fehler bezieht sich auf die 2. Anwendung von $("a[href='" + value + ".php']").attr("href")

    Bei meinem Versuch sei zu beachten, dass ich den Pfad des aktuellen Verzeichnisses benötige (ich arbeite lokal mit einem base-href auf eine externe Webseite).

    Irgendwer irgendeine Idee, woran es liegt bzw. wie ich mein Vorhaben umsetzen kann?

    Beitrag zuletzt geändert: 14.5.2012 20:35:24 von fabo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Bei mir funktioniert es, so lustig es auch ist, komplett richtig. Sei es in Firefox 12, Chrome 18 oder IE 9.
    Benutzt habe ich dabei den Code: (Datei: file:///C:/test.html)
    <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript">
    $(function(){
    var pages = ['test', 'blabla', 'xyz'];
    $.each(pages, function(index, value) {
    	$("a[href='" + value + ".php']").attr("href", location.href.substring(0,location.href.lastIndexOf('/')+1) + $("a[href='" + value + ".php']").attr("href").replace('php', 'html'));
    });
    });
    </script>
    </head>
    <body>
    <a href="test.php">test</a>
    <a href="blabla.php">blabla</a>
    <a href="xyz.php">xyz</a>
    </body>

    Und mein DOM sieht nachher im Chrome so aus:
    <html><head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript">
    $(function(){
    var pages = ['test', 'blabla', 'xyz'];
    $.each(pages, function(index, value) {
    	$("a[href='" + value + ".php']").attr("href", location.href.substring(0,location.href.lastIndexOf('/')+1) + $("a[href='" + value + ".php']").attr("href").replace('php', 'html'));
    });
    });
    </script>
    </head>
    <body>
    <a href="file:///C:/test.html">test</a>
    <a href="file:///C:/blabla.html">blabla</a>
    <a href="file:///C:/xyz.html">xyz</a>
    </body></html>
  4. Autor dieses Themas

    fabo

    Kostenloser Webspace von fabo

    fabo hat kostenlosen Webspace.

    Du hast Recht. SO funktioniert es. Der Fehler entsteht scheinbar lediglich in meinem HTML-Dokument. :S Danke trotzdem =)

    Beitrag zuletzt geändert: 15.5.2012 9:02:45 von fabo
  5. Du kannst auch gerne dein Dokument posten, damit man dir da eventuell dabei helfen könnte. :P Würde mich nämlich auch interessieren, weshalb es nicht funktionieren würde.
  6. Autor dieses Themas

    fabo

    Kostenloser Webspace von fabo

    fabo hat kostenlosen Webspace.

    Sagen wir so: Das Problem lies sich mittlerweile lösen :)

    var pages = ['test', 'blabla', 'xyz'];
    $.each(pages, function (index, value) {
        $("a[href$='" + value + ".php']").attr("href", function () {
            return (location.href.substring(0,location.href.lastIndexOf('/')+1) + $(this).attr('href').replace('.php', '.html'));
        });
    });


    Damit geht's fehlerfrei :)
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!