Announcement

Collapse
No announcement yet.

Wörter mit Javascript einfärben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wörter mit Javascript einfärben

    Hallo zusammen, ich weiß nicht, ob ich jetzt das richtige Forum erwischt habe, aber ich stell einfahc mal meine Frage:

    Ich möchte Wörter, die in einem XML-Dokument getaggt sind, einfärben.
    z.B. :
    <faerben art="1"> Wort </faerben> --> gelb
    <faerben art="2"> Wort </faerben> --> blau
    <faerben art="1"> Wort </faerben> --> gelb
    <faerben art="3"> Wort </faerben> --> grün

    Mein JS-Code sieht im Moment so aus:
    Code:
    function paintText(id){
                            var word = document.getElementById(id);
                            var character = word.getAttribute('art');
                            if(character != null){
                                word.style.color = "#FF8C00";
                            }
                        }
    wobei der Funktion das Element per id übergeben wird.
    Nur als Beispiel (wird dann noch mit sibling angepasst) habe ich hier mal das erste Element übergeben, das gefunden wurde:

    HTML Code:
    <div id="1">
                <xsl:value-of select="faerben"/>
            </div>
    Nur leider funktioniert das nicht. Wenn ich aber
    Code:
    if(character == null){
    setze, wird das Wort eingefärbt. Woran liegt das? (schon klar, dass es daran liegt, dass character = null ist, aber warum ist character net des Attribute?)

    zum anderen:
    Wie kann ich verschiedene Farben erzeugen (wenn z.B. größere als die Zahlen 1 bis 3 im Attribute stehen - z.B 4, 5, 6, 7, ...)?
    Es muss aber eine Farbe einer Zahl fest zugewiesen sein. Vl irgendwie mit einer Hashtabelle oder so? Dass ich die Zahlen speicher und dann dazu den Farbwert und diesen dann abruf?

    Naja, wichtig ist auf jeden Fall erstmal, dass es überhaupt läuft.

    Viele Grüße
    m0ps

  • #2
    Hallo,

    spontan würde mir dazu einfallen, dass die Anweisung getAttribute() doppelte Anführungszeichen brauchen könnte also getAttribute("art").
    Dann kann es noch sein, dass deine Variable 'word' nicht richtig initialisiert ist.
    Hast du schon mal untersucht, was in 'word' drin steht?

    Die Farben nach den ID's zuweisen, kann man mit einem einfachen "switch - case" realisieren. Aber Hashtable würde bestimmt auch gehen, oder enum...

    Grüße

    Comment

    Working...
    X