Bonjour !
je suis en train de programmer toute une librairie permettant un emploi plus facile des éléments du DOM.
Cependant, un problème dont je ne trouve pas la source à fait surface il y a quelques heures; une fois que je créer deux éléments,
le premier n'est plus détecté et il m'est impossible de modifier son innerHTML, son style...
Voici le code qui semble poser problème :
element.js
voici deux autres classes qui ne me semble pas être la cause du problème, mais voilà tout de même :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 "use strict"; class Element { constructor(tagName, HTMLContent = "", container = document.getElementsByTagName("body")[0]) { this.tagName = tagName; this.container = container; this.initBody(container); this.contentHandler = new HTMLContentHandler(this); this.styleHandler = new StyleHandler(this); this.contentHandler.set(HTMLContent); } initBody() { let tmpId = new Id("tmp"); writeElementIn(this.tagName, [tmpId], "", this.container); this.body = document.getElementById(tmpId.value); tmpId.removeOf(this); } } /* ### FUNCTIONS ### */ function writeSimpleElementInById(tagName, content, elementContainerId) { writeElementInById(tagName, [], content, elementContainerId); } function writeSimpleElementIn(tagName, content, elementContainer) { writeElementIn(tagName, [], content, elementContainer); } function writeElementInById(tagName, attributes, content, elementContainerId) { writeElementIn(tagName, attributes, content, document.getElementById(elementContainerId)); } function writeElementIn(tagName, attributes, content, elementContainer) { elementContainer.innerHTML += "<" + tagName + " " + getHTMLCodeFromAttributes(attributes) + ">" + content + "</" + tagName + ">"; }
html_content_handler.js
style_handler.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 "use strict"; class HTMLContentHandler { constructor(element) { this.element = element; this.set(""); } clear() { this.set(""); } add(HTMLCode) { this.element.body.innerHTML += HTMLCode; } set(HTMLCode) { this.element.body.innerHTML = HTMLCode; } get() { return this.element.body.innerHTML; } }
Merci beaucoup de l'attention !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 "use strict"; class StyleHandler { constructor(element) { this.element = element; } setColors(backgroundColor, color) { this.backgroundColor = backgroundColor; this.color = color; } set backgroundColor(color) { this.element.body.style.backgroundColor = color.getCSS(); } set color(color) { this.element.body.style.color = color.getCSS(); } get style() { return this.element.body.style; } }
J'espère que l'on aura pas trop de difficultés à trouver...
Partager