• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Attribute und Variabeln

Conkuist

Mitglied
Ist es möglich das Attribut red z.B in roteFarbe umzubenennen
und dann dem Attribut roteFarbe über eine Variable eine
bestimmte farbe zuzuordnen?

Code:
<!DOCTYPE html>
<meta charset="utf-8" />
<html>
<body>
<p id="Text">Dieser Text kann die Farbe ändern</p>

<button id="FarbeWechseln" farbe="red">Rot</button>
<button id="FarbeWechseln" farbe="lime">Grün</button>

<script>
var fw=document.getElementById("FarbeWechseln");
var txt=document.getElementById("Text")
var b = document.getElementsByTagName('button');
for(i = 0; i<b.length; i++)
{b[i].addEventListener('click',TextFarbe,true);}
function TextFarbe(m)
{txt.style.color=m.target.getAttribute("farbe");}
</script>
</body>
</html>
 
Werbung:
Was genau willst du? Wenn du zugriff auf den Sourcecode hast kannst du das Atribut doch ganz einfach umbenennen.

Ps: Was hast du gegen Englisch? :p
 
So?
Code:
<!DOCTYPE html>
<html>
<head>
  <title>Document</title>
  <meta charset="utf-8">
</head>
<body>
<p id="text">Dieser Text kann die Farbe ändern</p>
<button data-color="red">Rot</button>
<button data-color="green">Grün</button>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
  (function() {
    var roteFarbe = "red",
        grueneFarbe = "green";

    $('button').on('click', function() {
      var color = $(this).data('color') == 'red' ? roteFarbe : grueneFarbe;
      $('#text').css('color', color);
    });
  })();
</script>
</body>
</html>
 
Werbung:
Wobei sich das JavaScript auf 3 Zeilen verkürzen lässt, wenn man die Textfarbe aus dem Data-Attribut übernimmt.
Code:
<!DOCTYPE html>
<html>
<head>
  <title>Document</title>
  <meta charset="utf-8">
</head>
<body>
<p id="text">Dieser Text kann die Farbe ändern</p>
<button data-color="red">Rot</button>
<button data-color="green">Grün</button>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
  $('button').on('click', function() {
    $('#text').css('color', $(this).data('color'));
  });
</script>
</body>
</html>
 
War leider nichts dabei was mir weiter hilft
Liegt wohl daran das ich mein Problem nicht gut genug beschrieben habe

Ich möchte ein Attribut abfragen das öfters im Code vorkommt und diesem Atribut soll dann eine Farbe über eine Variable zugewiesen werden

z.B könnte ein Attribut gras heißen und immer wenn das Attribut gras aufgerufen wird, wird der text grün
da z.B var grass="#0f0" oder sowas in der art
 
Zuletzt bearbeitet:
Dafür kannst du dir doch einfach ein Objekt erstellen, welches die Werte übersetzt.
 
Werbung:
Dann nimm doch als Attribut eine CSS Klasse, und auf Click erhalten alle HTML-Elemente mit dieser Klasse eine Farbe zugewiesen, die in einer JS Variablen abgelegt ist. Dazu brauchst du mein erstes Beispiel nur umzuschreiben.
 
z.B Mehrere Objekte mit dem selben atribut sollen z.B den Hintergrund einer Seite in einer betimmten farbe einfärben.
Ich hoffe ihr versteht jetzt was ich meine
 
Wir verstehen was du meinst. Du musst nur noch auf unsere Ratschläge hören und nicht erwarten das wir alles für dich umsetzen. :)
 
Werbung:
Zurück
Oben