document.getElementsByTagName('font')[].innerHTML = "" -> Alle Elemente auswählen

  • Hallo Zusammen,

    wie schaffe ich es, alle Tags in document.getelementsbytagname auszuwählen?

    Normalerweise müsste die syntax so aussehen

    Code
    document.getElementsByTagName('font')[1].innerHTML = "Ich bin ein Test"

    Aber was muss ich tun, wenn ich jetzt nicht den Inhalt des zweite font-Tag's, sonder den Inhalt aller font-Tag's in "Ich bin ein Test" ändern will?

    Vielen Dank schonmal im Vorraus!!:)

  • Fals ich dich richtig verstanden habengeht das

    mit Jquery,

    oder einer Schleife,

    bzw querySelectorAll.

    Damit kannst du mehrere ,bzw auch gleiche Tags den gleichen Wert geben.

    Jquery

    Code
    $('div').css('display','red');

    oder mit querySelectorAll

    Code
    element=document.querySelectorAll('div');
    element.forEach((i) => {
    i.style.color='red';
    })

    oder mitSchleife

    Code
    y=document.getElementsByTagName('div');
    menge=y.length-1;
    for(a=0;a<=menge;a++){
      document.getElementsByTagName('div')[a].style.color='red';
    }

    So ungefähr sollte das dann gehen wenn ich dich richtig versatnden haben

    Einmal editiert, zuletzt von basti1012 (15. November 2018 um 11:49)

  • JavaScript
    var _elements = document.getElementByTagName( 'font' );
    
    _elements.forEach((item) => {
            i.innerHTML = 'ich war hier...';
        });

    Das können aber die M$-Browser nicht, da bei denen kein forEach() für eine NodeList bekannt ist. Das muss man dann entweder nachbauen oder altmodisch drum rum iterieren:

    JavaScript
    for ( var i=0; i<_elements.length; i++ ) {
        _elements[i].innerHTML = 'ich war hier...';
    }
  • Noch ein Hinweiß

    Code
    document.getElementsByTagName('font')[1]

    Benutzt du noch mehr veraltetes html ?(<font>)

    Auch wenn es noch funktioniert solltest du vieleicht mal kucken ob du nicht auf aktuelles html5 wechseln willst .

  • Vielen Dank für eure Antworten! Hat mit ein paar Korrekturen super funktioniert:

    Code
    var _elements = document.getElementsByTagName( 'font' );
    for ( var i=0; i < _elements.length; i++ ) {
        document.getElementsByTagName('font')[i].innerHTML = 'ich war hier...';
    }

    Ich arbeite normalerweise mit html5, jedoch entschied ich mich ( wegen eines unfähigen Frameworkes ) für den font-Tag. Ist aber ne andere Geschichte:)

    Nochmals Danke!!

  • Schlechte Konsequenz... Tausche dann lieber das Framework.

    Aber ich denke eher, dass es eine andere Lösung gegeben hätte, als veraltete Elemente bzw. Standards zu verwenden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!