XML DOM insertBefore() ·½·¨
¶¨ÒåºÍÓ÷¨
insertBefore() ·½·¨ÔÚÒÑÓеÄ×Ó½Úµã֮ǰ²åÈëÒ»¸öеÄ×ӽڵ㡣
¸Ã·½·¨·µ»ØÕâ¸öеÄ×ӽڵ㡣
Óï·¨£º
elementNode.insertBefore(new_node,existing_node)
| ²ÎÊý | ÃèÊö |
|---|---|
| new_node | ±ØÐè¡£Òª²åÈëµÄ½Úµã¡£ |
| existing_node | ±ØÐè¡£ÒÑÓнڵ㡣Ôڴ˽ڵã֮ǰ²åÈëнڵ㡣 |
ÌáʾºÍ×¢ÊÍ£º
×¢ÊÍ£ºInternet Explorer »áºöÂÔ½ÚµãÖ®¼äÉú³ÉµÄ¿Õ°×Îı¾½Úµã£¨±ÈÈç»»ÐÐ×Ö·û£©£¬¶ø Mozilla ²»Õâô×ö¡£Òò´Ë£¬ÔÚÏÂÃæµÄÀý×ÓÖУ¬ÎÒÃÇʹÓÃÒ»¸öº¯ÊýÀ´¼ì²é×îºóÒ»¸ö×Ó½ÚµãµÄ½ÚµãÀàÐÍ¡£
ÔªËØ½ÚµãµÄ½ÚµãÀàÐÍÊÇ 1£¬Òò´ËÈç¹û×îºóÒ»¸ö×ӽڵ㲻ÊÇÔªËØ½Úµã£¬ÔòÒÆ¶¯µ½ÉÏÒ»¸ö½Úµã£¬²¢¼ì²éÕâ¸ö½ÚµãÊÇ·ñÊÇÔªËØ½Úµã¡£Õâ¸ö¹ý³ÌÒ»Ö±»á³ÖÐøµ½ÕÒµ½×îºóÒ»¸öÊôÓÚÔªËØ½ÚµãµÄ×Ó½ÚµãΪֹ¡£Í¨¹ýÕâ¸ö·½·¨£¬ÔÚ Internet Explorer ºÍ Mozilla Öж¼»áµÃµ½ÕýÈ·µÄ½á¹û¡£
ÈçÐè¸ü¶àÓÐ¹Ø IE Óë Mozilla ä¯ÀÀÆ÷²îÒìµÄÄÚÈÝ£¬Çë·ÃÎÊ W3School µÄ XML DOM ½Ì³ÌÖÐµÄ DOM ä¯ÀÀÆ÷ ÕâÒ»½Ú¡£
ʵÀý
ÔÚËùÓеÄÀý×ÓÖУ¬ÎÒÃǽ«Ê¹Óà XML Îļþ books.xml£¬ÒÔ¼° JavaScript º¯Êý loadXMLDoc()¡£
ÏÂÃæµÄ´úÂëÆ¬¶Î´´½¨Ò»¸öÐ嵀 <book> ½Úµã£¬²¢°ÑËü²åµ½ÎĵµÖÐ×îºóÒ»¸ö <book> ÔªËØÖ®Ç°£º
//check if the last childnode is an element node
function get_lastchild(n)
{
x=n.lastChild;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));