2013-01-15 112 views
0

我如何将属性添加到“testTwo”标签? 的Javascript小白..子节点的设置属性

 var XML = document.createElement("test"); 
     var Node = document.createElement("testOne"); 
     Node.setAttribute("id", "0"); 
     Node.setAttribute("random", "0"); 
     Node.appendChild(document.createElement("testTwo")); 

     XML.appendChild(Node); 

     console.log(XML.innerHTML); 
+1

***绝对***与'testOne'相同。 – VisioN

+0

怎么样? Node.appendChild(document.createElement(“testTow”)。setAttribute(“”,“”)?我试过这不起作用...或者你的意思是Node.setAttribute但创建testTwo后? – BigBug

+0

你试过我的答案? –

回答

1

创建testTwo节点提前。代码示例如下:

var XML = document.createElement("test"); 
var Node = document.createElement("testOne"); 
Node.setAttribute("id", "0"); 
Node.setAttribute("random", "0"); 
var testtwo = document.createElement("testTwo"); 
testtwo.setAttribute("attr", "attrval"); 
Node.appendChild(testtwo); 

XML.appendChild(Node); 

console.log(XML.innerHTML); 
+0

感谢您的帮助Yusaf – BigBug

+0

没问题;)...我仍然在学习JS自己,这是一个永无止境的事情 –

1

您对第一个节点有正确的技巧。对第二个节点使用相同的东西。创建你的第二个节点(testTwo),然后再附加到某个地方。创建与您想要关联的所有属性的节点。然后,一旦完成了你想要的方式,那么它就是你想要的父节点。

这里是代码的样子。

var XML = document.createElement("test"); 
var Node = document.createElement("testOne"); 
Node.setAttribute("id", "0"); 
Node.setAttribute("random", "0"); 

//Create the 2nd node first 
var node2 = document.createElement("testTwo"); 
//add the attributes you want for this node 
node2.setAttribute("key", "value"); 
node2.setAttribute("key2", "value2"); 
//once you're done append it. 
Node.appendChild(node2); 

XML.appendChild(Node); 

console.log(XML.innerHTML);