2017-03-01 4 views
-4

Im Moment habe ich dies:Wie HTML benutzerdefinierten Attributwert von JavaScript ändern?

<div id="e2" 
    class="progress-bar progress-bar-danger active" 
    role="progressbar" data-transitiongoal="45"> 

Und ich mag den Daten-transitiongoal Wert zur Laufzeit ändern.

Das ist nicht für mich funktioniert:

document.getElementById("e2").setAttribute("data-transitiongoal", "10"); 
+0

Führen Sie den Code nach dem Laden des Dokuments aus? Z.B. using * window.onload * oder Skript am unteren Rand der Seite? – RobG

Antwort

0

Wie Sie gesagt, dass Sie während der Laufzeit ändern wollen, und Sie bereits versucht, eine Lösung, die es bei der Belastung ändert sich, empfehle ich Ihnen, die Dinge.
Lesen Sie dies zu verstehen und kopieren Sie dann nur den untenstehenden Code.

  1. Satz eine Timeout function die die Daten ändern, und innerhalb der Funktion, Löschen des Timeout um wiederholte Ausführung zu vermeiden.
  2. Legen Sie die Dauer in Millisekunden so fest, nach welcher Zeit Sie die Änderung vornehmen möchten. 2000 -> 2 Sekunden. 0 -> sofort (Sekunden * 1000).

Sie können die Konsole und die Dauer überprüfen, um festzustellen, wann und wo die Änderung aufgetreten ist.

console.log(document.getElementById('e2')); // log actual element -> 45 
 
var SIT=window.setTimeout(function(){ 
 
    document.getElementById("e2").setAttribute("data-transitiongoal", "10"); 
 
    console.log(document.getElementById('e2')); 
 
    window.clearTimeout(SIT); 
 
},2000); // change duration 
 
// log changed element -> 10
<div id="e2" class="progress-bar progress-bar-danger active" role="progressbar" data-transitiongoal="45">Something</div>

0

Vielleicht machst du etwas anderes falsch, weil setAttribute() funktioniert. Könntest du noch mehr Code posten? Überzeugen Sie sich selbst:

var elem = document.getElementById("e2"); 
 

 
console.log(elem.getAttribute("data-transitiongoal")); 
 
elem.setAttribute("data-transitiongoal", 10); 
 
console.log(elem.getAttribute("data-transitiongoal"));
<div id="e2" class="progress-bar progress-bar-danger active" role="progressbar" data-transitiongoal="45">

0

Okay, ich das Problem behoben. Es gab einige andere Probleme, die ich behoben habe und es fing an zu arbeiten. Danke für die Lösung Jungs, es hat mir auch geholfen.

Verwandte Themen