2 Stimmen

Javascript - Anwendung einer Klasse auf ein HTML-Tag mit einem Attribut/Wert

Ich versuche, Stile dynamisch auf HTML-Tags anzuwenden, indem ich den Wert bestimmter HTML-Attribute einlese und einen Klassennamen auf der Grundlage ihrer Werte anwende. Zum Beispiel, wenn ich habe:

<p height="30">

Ich möchte eine class="h30" zu diesem Absatz, damit ich ihn in meiner Formatvorlage formatieren kann. Ich kann keine Informationen darüber finden, wie ich den Wert eines Attributs erhalte, das nicht ein id o class . Hilfe?

5voto

SeanDowney Punkte 16648

Ich würde dringend empfehlen, mit etwas wie Jquery, wo das Hinzufügen von Klassen ist trivial:

$("#someId").addClass("newClass");

also in Ihrem Fall:

$("p[height='30']").addClass("h30");

wählt also alle Absatz-Tags aus, bei denen das Attribut height den Wert 30 hat, und fügt ihnen die Klasse h30 hinzu.

3voto

Shog9 Punkte 151504

Siehe: getAttribute() . Parameter ist der Name des Attributs (Groß- und Kleinschreibung wird nicht berücksichtigt). Rückgabewert ist der Wert des Attributs (eine Zeichenkette).

Sehen Sie sich unbedingt die Bemerkungen in MSDN, bevor Sie sich mit dem IE beschäftigen...

2voto

Kornel Punkte 94135

Es ist besser, Layout und Präsentation zu trennen.

Trotz der Verwendung von CSS binden Sie diese beiden Elemente aneinander. Bessere Klassennamen verwenden (Warum muss es 30px hoch sein? Ist es die Menüleiste? die Fußzeile? das Banner?)

0voto

Frank Krueger Punkte 67044

Attribute sind nur Eigenschaften (normalerweise). Also einfach ausprobieren:

for (e in ...) {
    if (e.height == 30) {
        e.className = "h30";
    }
}

Oder verwenden Sie etwas wie Jquery, um diese Art von Dingen zu vereinfachen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X