Ergebnis 1 bis 12 von 12
  1. #1
    kriz330 ist offline Mitglied
    registriert
    08-07-2011
    Beiträge
    28

    Question Ids einfügen - wie auf Elemente zugreifen?

    Hallo zusammen,

    ich möchte in eine Konstruktion aus Listen und Unterlisten (d.h. in manchen li-Elementen stehen nochmals ul-Elemente, weiter geht die Verschachtelung aber nicht) ids einfügen.
    Was solls, hier ein Beispiel:

    Code:
    <ul>
    
    <li></li>
    <li>
    <ul>
    <li></li>
    </ul>
    </li>
    </ul>
    Konkret sollen nun die fette ul eine id bekommen (bei mir im Projekt sind es mehrere uls, aber als Beispiel reicht ja eine). Wie stell ich das nun an, dass ich das Attribut genau da anhänge, da dieses Element ja noch keine id hat? Sprich wie spreche ich genau dieses Element an?

    Ich habe bereits in einem anderen Forum eine mögliche Lösung erhalten:

    Code:
    var lists = document.querySelectorAll('ul li > ul');
    Nur damit komme ich irgendwie nicht klar (sprich, es funktioniert nicht)

    Ich hoffe, ihr versteht mein Problem

    Danke schonmal!
    mfg
    kriz330
    Geändert von kriz330 (19-09-2011 um 12:17 Uhr) Grund: kleiner Fehler entdeckt

  2. #2
    Avatar von Junkee[]
    Junkee[] ist offline Lounge-Member
    registriert
    08-05-2009
    Ort
    Leonberg
    Beiträge
    3.169

    AW: Ids einfügen - wie auf Elemente zugreifen?

    Zitat Zitat von kriz330 Beitrag anzeigen
    Nur damit komme ich irgendwie nicht klar (sprich, es funktioniert nicht)
    was funktioniert nicht? was hättest du erwartet?
    Ich hoffe, ihr versteht mein Problem
    nein

  3. #3
    kriz330 ist offline Mitglied
    registriert
    08-07-2011
    Beiträge
    28

    AW: Ids einfügen - wie auf Elemente zugreifen?

    Also was mein Problem angeht, ich hatte gedacht, es wäre klar, was ich haben möchte: Dass die Fette ul ein id-Attribut bekommt, z.B. mit "setAttribute" oder (wies bei mir schon funktioniert hat an nem anderen Beispiel) mit "createAttribute" und dann "setAttributeNode". Aber das ist jetzt erstmal zweitrangig.

    Was ich versucht habe:
    Code:
    var lists = document.querySelectorAll('ul li > ul');
    var testAttribute = document.createAttribute("style");
    testAttribute.nodeValue = "background-color: red;";
    lists[1].setAttributeNode(testAttribute);

  4. #4
    Avatar von Junkee[]
    Junkee[] ist offline Lounge-Member
    registriert
    08-05-2009
    Ort
    Leonberg
    Beiträge
    3.169

    AW: Ids einfügen - wie auf Elemente zugreifen?

    ich würde dir dringendst raten, dich nur ein wenig mit JS zu beschäftigen. Wenn du davon ausgehst dass alle Browser, die deine Seite besuchen document.querySelectorAll besitzen würde ich das so machen:
    Code:
    var lists = document.querySelectorAll('ul li > ul');
    for(var i=0; i<lists.length; i++) {
      lists[i].className = "red";
    }
    
    .red {
      color: red;
    }

  5. #5
    kriz330 ist offline Mitglied
    registriert
    08-07-2011
    Beiträge
    28

    AW: Ids einfügen - wie auf Elemente zugreifen?

    Mein Problem ist nur, dass ich nichts im Stylesheet verändern darf. Dieser Test mit den Farben war vielleicht nicht die beste Wahl, eigentlich möchte ich nämlich ein id-Attribut zu der ul hinzufügen.

    Vorher: <ul>

    Nach der Javascript-Ausführung: <ul id="...">

  6. #6
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Ids einfügen - wie auf Elemente zugreifen?

    Eine ID ist ein eindeutiges Merkmal eines Elementes, dies nachträglich mit JS einfügen zu wollen, ist meistens ein Fehler im Konzept. Wieso soll das Element nachträglich eine ID bekommen?

  7. #7
    kriz330 ist offline Mitglied
    registriert
    08-07-2011
    Beiträge
    28

    AW: Ids einfügen - wie auf Elemente zugreifen?

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Eine ID ist ein eindeutiges Merkmal eines Elementes, dies nachträglich mit JS einfügen zu wollen, ist meistens ein Fehler im Konzept. Wieso soll das Element nachträglich eine ID bekommen?
    Es darf bei diesem Projekt nichts an dem HTML-Code verändert werden. Ist es nicht möglich, nachträglich ids einzufügen? Es geht darum die Liste dynamisch zu machen, daran wurde allerdings vorher nicht gedacht, jetzt soll nichts mehr verändert werden. Ich muss also irgendwie "eingreifen" und ne id reinschreiben.

  8. #8
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Ids einfügen - wie auf Elemente zugreifen?

    Nochmal: Wozu?

  9. #9
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.710

    AW: Ids einfügen - wie auf Elemente zugreifen?

    Zitat Zitat von kriz330 Beitrag anzeigen
    Ich muss also irgendwie "eingreifen" und ne id reinschreiben.
    Du glaubst doch etwa nicht, die id ist dann statisch im html-code ?
    Wenn du dein Element über geeignete Methoden ansprichst, kannst du gleich deine Aktionen ausführen und brauchst den Element keine id zu verpassen.

  10. #10
    kriz330 ist offline Mitglied
    registriert
    08-07-2011
    Beiträge
    28

    AW: Ids einfügen - wie auf Elemente zugreifen?

    Zitat Zitat von jspit Beitrag anzeigen
    Du glaubst doch etwa nicht, die id ist dann statisch im html-code ?
    Wenn du dein Element über geeignete Methoden ansprichst, kannst du gleich deine Aktionen ausführen und brauchst den Element keine id zu verpassen.
    Wäre die zweite Lösung, hat mir zuerst nicht gefallen, weil dann sowas dabei rauskommt wie oben beschrieben (mit dem li ul > li)

    oder hast du ne bessere Lösung?
    Ich wäre sehr dankbar ;-)

  11. #11
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Ids einfügen - wie auf Elemente zugreifen?

    So einen Selektor musst du doch so oder so benutzen, um an die Elemente zu kommen

  12. #12
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.710

    AW: Ids einfügen - wie auf Elemente zugreifen?

    getElementsByTagName - hier muß du wissen wo dein Element steht oder die Umgebung analysieren.

Ähnliche Themen

  1. Auf Elemente von anderen Websites zugreifen
    Von Taeli im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 03-08-2011, 08:37
  2. Antworten: 1
    Letzter Beitrag: 06-01-2011, 07:21
  3. Array Elemente einfügen
    Von wico im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 13-07-2007, 20:10
  4. xml-parser: direkt auf child-Elemente zugreifen
    Von j.sark im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 12-01-2007, 16:25
  5. Elemente Klonen und einfügen
    Von Pedrito im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 03-10-2005, 08:50

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •