ich eine einfache Klasse, die ein übergeordnetes Element hat, und i speichern, es ist untergeordnetes Element Fortschritt, aber wenn ich auf das Kind Element nichts hinzufügen geschiehtDOM-Objekt nicht referenziert
class MyClass {
constructor(element) {
this.elem = element;
this.child = this.elem('.child');
this.fill();
}
fill() {
this.elem.innerHTML += '<span class="child2"></span>';
}
update(val) {
this.child.style.width = val + '%';
}
}
Wenn ich die Update-Funktion nichts nennen das passiert. Wenn ich das Kindelement drucke, sehe ich, dass es einen Stil von val%
hat, aber ich sehe es nicht im DOM "update".
Es ist wie es das Objekt kopiert und die Referenz nicht speichert.
BTW: Funktioniert auch dies ok this.elem.querySelector('.child').style.width = val + '%';
auch versucht, mit children[0]
wird auch nicht funktionieren.
Vielen Dank im Voraus!
Verwenden Sie irgendwo "innerHTML" in Ihrem Code? Und es würde helfen, uns Ihr Markup zu zeigen. Das klingt für mich wie das Problem, das Anfänger bei der Verwendung von 'node.innerHTML + =' haben. – Thomas
Haben Sie den Wert von this.ch in der Update-Funktion überprüft? –
Nein, ich kopiere das Markup nicht, ich arbeite nur mit dem DOM. Markup ist einfach: '