22. marts 2006 - 09:42Der er
5 kommentarer og 1 løsning
Hmm...DOM node problem
Jeg har arbejdet med omskrivning af en wysiwyg editor og det fungerer sådan set fint, men... Har en eventhandler der kalder nedenstående funktion når der klikkes et eller andet sted i dokumentet:
function SetActiveElementByEvent(evt){ if (isIE) { strElement = evt.srcElement; } else { strElement = evt.target; } doConfigUpdates(); } Her sættes strElement så til det element brugeren har klikket inde i - og det fungerer også fint til de fleste formål. Kan redigere i strElement vha. attributter osv, men... hvis jeg nu forsøger nedenstående i IE:
function RemoveElement() { var newElement = document.createElement("SPAN"); newElement.innerHTML = strElement.innerHTML; strElement.parentNode.replaceChild(newElement, strElement); }
Så får jeg fejlen: Invalid argument
Det virker som om IE ikke helt opfatter strElement som en node, hvordan kan det være? Og hvordan får jeg rettet det?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Well... fandt en løsning der virkede... function RemoveElement() { var newElement = document.createElement("SPAN"); var count = strElement.childNodes.length; for (i=0; i < count; i++) { strElement.parentNode.insertBefore(strElement.firstChild, strElement); } }
hov... function RemoveElement() { var count = strElement.childNodes.length; for (i=0; i < count; i++) { strElement.parentNode.insertBefore(strElement.firstChild, strElement); } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.