Name automatisch generieren

  • geschlossen
  • JavaScript

  • miro
  • 1258 Aufrufe 4 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Name automatisch generieren

    Hallo

    Ich mache eine CSS Bibel Webseite mit mehren Bibel Übersetzungen.
    Hier der link :
    Bibel Übersetzung

    Mansche Sachen die sich Widerhollen sind sehr aufwendig und Zeit raubend.
    ZB ich muss jeden Linkanker mit einer Nummer versehen damit jeder Bibeltext gefunden werden kann.
    Nun ich habe mir überlegt das vielleicht eine Javascript Funktion könnte mir 1000 Arbeitsstunden der mühseliger arbeit sparen.
    Wie konnte ich die Linkanker Name (name="a1") per eine Funktion generieren,
    damit sie sich selber ein Folgender Nummer von selbst in bestimmter HTML stelle rein schreibt.
    Mein Code sieht folgender Massen aus:
    Wie rufe ich die Funktion von Html dann ab ?

    Quellcode

    1. <div id="mainContent"><!-- Anfang mainContent -->
    2. <h5 class="text"><a name="a1"></a>1 Text</h5>
    3. <h5 class="text"><a name="a2"></a>2 Text</h5>
    4. <h5 class="text"><a name="a3"></a>3 Text</h5>
    5. </div>


    Danke für hilfe
    Miro

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von miro ()

  • Hi,
    probiere doch mal das:

    Quellcode

    1. var elements = document.getElementsByTagName('h5');
    2. var el;var p;
    3. for(i=0;i<elements.length;i++) {
    4. el = elements[i];
    5. if(el.className != 'text') continue;
    6. if(parseInt(p = el.innerHTML.substr(0,el.innerHTML.indexOf(' ')))) el.innerHTML = '<a name="a'+p+'"></a>'+el.innerHTML;
    7. }

    Das geht die h5 Elemente durch, prüft ob die Klasse "text" heißt und fügt, wenn die erste Zeichenfolge eine Zahl ist diese als Anker ein.
    Muss halt nur immer die Zahl am Anfang sein.

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Hallo Broken Sword

    Danke für deine Hilfe .

    Ich habe das als Funktion gemacht aber wie soll der wert der Funktion
    in der Name reingeschireben werden ?

    HTML-Quellcode

    1. <script type="text/javascript"><!--
    2. function auto()
    3. {
    4. var elements = document.getElementsByTagName('h5');
    5. var el;var p;
    6. for(i=0;i<elements.length;i++) {
    7. el = elements[i];
    8. if(el.className != 'text') continue;
    9. if(parseInt(p = el.innerHTML.substr(0,el.innerHTML.indexOf(' '))))
    10. el.innerHTML = '<a name="a'+p+'"></a>'+el.innerHTML;
    11. }
    12. }
    13. --></script>
    14. <html>
    15. <body onload="auto();">
    16. <h5 class="text"><a name="a"></a>1 Kapitel Text eins</h5>
    17. <h5 class="text"><a name="a"></a>2 Kapitel Text zwei</h5>
    18. <h5 class="text"><a name="a"></a>3 Kapitel Text drei</h5>
    19. </body>
    20. </html>
    Alles anzeigen


    so wie ich das gemacht habe funktioniert nicht ...
    was muss ich denn noch machen damit das funktionier ?

    Danke in voraus
    Gruß
    Miro

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von miro ()