XML DOM insertBefore() ਮੇਥਡ
ਪਰਿਭਾਸ਼ਾ ਅਤੇ ਵਰਤੋਂ
insertBefore() ਮੇਥਡ ਨਵਾਂ ਉਪ ਨੋਡ ਨੂੰ ਮੌਜੂਦਾ ਉਪ ਨੋਡ ਤੋਂ ਪਹਿਲਾਂ ਜੋੜ ਸਕਦਾ ਹੈ。
ਇਹ ਮੇਥਡ ਨਵਾਂ ਉਪ ਨੋਡ ਲਿਆ ਸਕਦਾ ਹੈ。
ਗਰਾਫੀਕਸ:
insertBefore(newchild,refchild)
ਪੈਰਾਮੀਟਰ | ਵਰਣਨ |
---|---|
newchild | ਨਵਾਂ ਨੋਡ ਜੋੜੋ |
refchild | ਇਸ ਨੋਡ ਤੋਂ ਪਹਿਲਾਂ ਨਵਾਂ ਨੋਡ ਜੋੜੋ |
ਸੁਝਾਅ ਅਤੇ ਟਿੱਪਣੀ
ਟਿੱਪਣੀ:Internet Explorer ਨੋਡ ਵਿਚਕਾਰ ਬਣੇ ਖਾਲੀ ਟੈਕਸਟ ਨੋਡ (ਉਦਾਹਰਨ, ਨਵੀਂ ਲਾਈਨ ਸਿੰਬੋਲ) ਨੂੰ ਨਹੀਂ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ ਜਦੋਂ ਕਿ Mozilla ਇਸ ਨੂੰ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ। ਇਸ ਲਈ ਨਿਮਨ ਉਦਾਹਰਨ ਵਿੱਚ ਅਸੀਂ ਇੱਕ ਫੰਕਸ਼ਨ ਵਰਤਾਂਗੇ ਜੋ ਆਖਰੀ ਉਪ ਨੋਡ ਦਾ ਨੋਡ ਟਾਈਪ ਚੈਕ ਕਰੇ।
ਐਲੀਮੈਂਟ ਨੋਡ ਦਾ ਨੋਡ ਟਾਈਪ 1 ਹੈ ਇਸ ਲਈ ਜੇਕਰ ਪਹਿਲਾ ਉਪ ਨੋਡ ਇੱਕ ਐਲੀਮੈਂਟ ਨੋਡ ਨਹੀਂ ਹੈ ਤਾਂ ਉਹ ਅਗਲੇ ਨੋਡ ਨੂੰ ਜਾਵੇਗਾ ਅਤੇ ਇਹ ਪ੍ਰਕਿਰਿਆ ਜਾਰੀ ਰਹੇਗੀ ਜਦੋਂ ਤਕ ਪਹਿਲਾ ਐਲੀਮੈਂਟ ਉਪ ਨੋਡ ਨਹੀਂ ਮਿਲਦਾ ਹੈ। ਇਸ ਤਰ੍ਹਾਂ ਅਸੀਂ Internet Explorer ਅਤੇ Mozilla ਵਿੱਚ ਸਹੀ ਮੇਥਡ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਾਂ。
ਸੁਝਾਅ:IE ਅਤੇ Mozilla ਬਰਾਉਜ਼ਰਾਂ ਵਿਚਕਾਰ XML DOM ਦੇ ਵਿਭਾਜਨਾਂ ਬਾਰੇ ਹੋਰ ਸਮਾਚਾਰ ਲਈ ਸਾਡੇ ਸੈਂਟਰ ਦੇਖੋ DOM ਬਰਾਉਜ਼ਰ ਅਧਿਆਏ。
ਇੰਸਟੈਂਸ
ਸਾਰੇ ਉਦਾਹਰਨਾਂ ਵਿੱਚ ਅਸੀਂ XML ਫਾਈਲ ਵਰਤਾਂਗੇ books.xml، ਅਤੇ ਜਾਵਾਸਕ੍ਰਿਪਟ ਫੰਕਸ਼ਨ loadXMLDoc()}。
ਹੇਠਲੇ ਹੇਠਲੇ ਫਰੈਜ਼ ਇੱਕ ਨਵਾਂ <book> ਨੋਡ ਬਣਾ ਸਕਦਾ ਹੈ ਅਤੇ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਆਖਰੀ <book> ਐਲੀਮੈਂਟ ਦੇ ਪਹਿਲਾਂ ਇਹ ਨੋਡ ਜੋੜ ਸਕਦਾ ਹੈ:
//check if the last childnode is an element node
function get_lastchild(n)
{
var x=n.lastChild;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var newNode=xmlDoc.createElement("book");
var newTitle=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));