It is no problem to delete the last node in IE for a JS that deletes a node. However, if you click Delete in Firefox, it will not be deleted until you click Delete again.
<HTML>
<Head>
<Title> Delete the element JavaScript removechild </title>
<SCRIPT type = "text/JavaScript">
Function delnode (){
VaR para = Document. getelementbyid ("delul ");
VaR paralen = para. getelementsbytagname ("Li"). length;
If (paralen> 0)
{
Para. removechild (para. lastchild );
} Else {
Alert ("No! ");
}
}
</SCRIPT>
</Head>
<Body>
<Ul id = "delul">
<Li> list1 </LI>
<Li> list2 </LI>
<Li> list3 </LI>
<Li> list4 </LI>
<Li> list5 </LI>
</Ul>
<Input type = "button" value = "delete" onclick = "delnode ();"/>
</Body>
</Html>
Changed:
Function delnode (){
VaR para = Document. getelementbyid ("delul ");
VaR paralen = para. getelementsbytagname ("Li"). length;
If (paralen> 0)
{
// While is used to support Firefox. Because Firefox considers lastchild as a text node, direct removechild (para. lastchild) does not work.
While (para. lastchild & para. lastchild. nodetype = 3)
{
Para. removechild (para. lastchild );
}
Para. removechild (para. lastchild );
// Another easier method: lastelementchild only supports Firefox
// Para. removechild (para. lastelementchild? Para. lastelementchild: para. lastchild );
} Else {
Alert ("No! ");
Para. removechild (para. lastchild );
}
In this way, ie and Firefox have the same effect!