webForumDet fria alternativet

appendChild bara i XML

5 svar · 519 visningar · startad av vic

vicMedlem sedan apr. 2006248 inlägg
#1

Hej!

Jag lyckas inte med appendChild. Låt säga att man har följande html:

<div id="maindiv">
<p>text...</p>
<p>text igen...</p>
</div>

Och sedan skulle jag vilja lägga till en ett p-element med appendChild, hur gör jag då? Just nu använder jag innerHTML men jag skulle hellre vilja köra med appendChild om det nu går, jag lyckas bara hitta tutor som gör det med inladdade xml-filer

// Hjälp uppskattas!

yohpopsMedlem sedan feb. 20011 102 inlägg
#2

Såhär kanske?

<script language="javascript">
var div = document.getElementById("maindiv");
div.appendChild(createParagraph("någon text"));

function createParagraph(in_text)
{
var new_p=document.createElement("p");
new_p.innerText = in_text;
return new_p;
}
</script>
vicMedlem sedan apr. 2006248 inlägg
#3

yohpops skrev:

Såhär kanske?

<script language="javascript">
var div = document.getElementById("maindiv");
div.appendChild(createParagraph("någon text"));

function createParagraph(in_text)
{
var new_p=document.createElement("p");
new_p.innerText = in_text;
return new_p;
}
</script>

Det funkade när jag ändrade innerText till innerHTML , tack så mycket för hjälpen :birp

vicMedlem sedan apr. 2006248 inlägg
#4

Jag kom på att jag skulle behöva få elmentet att hamna före alla tidigare element, testade med getElementById("maindiv").childNodes[0].appendChild... men det gick givetvis inte...

spangoMedlem sedan juni 20006 147 inlägg
#5

Gör så här:

var newElement = document.createElement(...);
var mainDiv = document.getElementById("maindiv");
mainDiv.insertBefore(newElement, mainDiv.firstChild);

Ett hett tips är att bookmarka exempelvis http://developer.mozilla.org/en/docs/DOM:element

vicMedlem sedan apr. 2006248 inlägg
#6

Tack, nu funkar det utmärkt!

Genererad på 485 ms · cache AV · v20260730165559-full.f96bc7eb