我的目的很简单,就是在表格中的每个<td>
添加'n'<tr>
。
我面临的问题是,它在最后一个<td>
中只添加了一个n
,而不是<td>
<tr>
,而不是全部<tr>
},类'n'
var actions = function(){
return { // this is going to return a long object containg a list of mny function which can be called any time
whichPattern: "pattern1",
addSlots:function(n){
var e =document.getElementById(this.whichPattern),
c = e.children[0].children,
ap_e = document.createElement('td');
for(var i=0; i<c.length; i++){
for(var j=0; j<=n; j++){
var parent = c[i];
ap_e.setAttribute("class", String(j));
parent.appendChild(ap_e);
}
};
pattern_config[this.whichPattern].WP_slotsCounter=n;
//console.log(this);
},
}
};
var pattern_config = {
pattern1:{
WP_slotsCounter:0,
},
};
window.onload = actions().addSlots(3)
<head>
<script type="text/javascript" src="actions.js" ></script>
</head>
<body>
<div id="pattern_body">
<div></div>
<table id="pattern1" border="2">
<tr class="kick instrument">
<td class='1'>gg</td>
<td class="2">dd</td>
</tr>
<tr class="snare instrument">
<td class='1'>vv</td>
<td class="2">aa</td>
</tr>
<tr class="cymbal instrument">
<td class='1'>kk</td>
<td class="2">tt</td>
</tr>
</table>
</div>
</body>
答案 0 :(得分:1)
节点一次只能存在于树中的一个位置。
您可以使用.attr("x", function(d) {
return d.Object.X;
})
.attr("y", function(d) {
return d.TotalObjects;
})
制作要追加的副本。
.cloneNode(true)
我还更改了var clone = ap_e.cloneNode(true);
clone.className = String(j);
parent.appendChild(clone);
来设置setAttribute
属性。
在这种特殊情况下,由于节点非常简单,您可能只想在添加它的同一位置创建它,而不是事先创建它并克隆它。