XML DOM insertBefore() 方法

定义和用法

insertBefore() 方法在已有的子节点之前插入一个新的子节点。

该方法返回这个新的子节点。

语法:

elementNode.insertBefore(new_node,existing_node)
参数 描述
new_node 必需。要插入的节点。
existing_node 必需。已有节点。在此节点之前插入新节点。

提示和注释:

注释:Internet Explorer 会忽略节点之间生成的空白文本节点(比如换行字符),而 Mozilla 不这么做。因此,在下面的例子中,我们使用一个函数来检查最后一个子节点的节点类型。

ਐਲੀਮੈਂਟ ਨੋਡ ਦਾ ਨੋਡ ਟਾਈਪ 1 ਹੈ ਇਸ ਲਈ ਜੇਕਰ ਆਖਰੀ ਬੱਚਾ ਨੋਡ ਐਲੀਮੈਂਟ ਨੋਡ ਨਹੀਂ ਹੈ ਤਾਂ ਪਿਛਲੇ ਨੋਡ ਨੂੰ ਚੇਕ ਕਰੋ ਅਤੇ ਉਹ ਐਲੀਮੈਂਟ ਨੋਡ ਹੈ ਨਹੀਂ ਤਾਂ ਇਹ ਪ੍ਰਕਿਰਿਆ ਜਾਰੀ ਰੱਖੋ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਐਲੀਮੈਂਟ ਨੋਡ ਦਾ ਆਖਰੀ ਬੱਚਾ ਨੋਡ ਪਤਾ ਨਹੀਂ ਲਗਾਉਂਦੇ ਹੋ ਇਸ ਤਰ੍ਹਾਂ ਇੰਟਰਨੈੱਟ ਐਕਸਪਲੋਰਰ ਅਤੇ ਮੋਜ਼ੀਲਾ ਵਿੱਚ ਸਹੀ ਨਤੀਜਾ ਮਿਲੇਗਾ

ਜੇਕਰ ਤੁਸੀਂ ਆਈਈ ਅਤੇ ਮੋਜ਼ੀਲਾ ਬਰਾਉਜ਼ਰਾਂ ਦਰਮਿਆਨ ਫਰਕ ਬਾਰੇ ਹੋਰ ਸਮਾਚਾਰ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਕੋਡਵੈੱਲਸੀਕਮ ਦੇ XML DOM ਟੂਰੀਅਲ ਵਿੱਚ ਦੇਖਣਾ DOM ਬਰਾਉਜ਼ਰ ਇਸ ਸੈਕਸ਼ਨ ਵਿੱਚ

ਇਨਸਟੈਂਸ

ਸਾਰੇ ਉਦਾਹਰਨਾਂ ਵਿੱਚ ਅਸੀਂ XML ਫਾਈਲ ਦਾ ਉਪਯੋਗ ਕਰਾਂਗੇ books.xmlਅਤੇ ਜਾਵਾਸਕ੍ਰਿਪਟ ਫੰਕਸ਼ਨ 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));