我试图通过jQuery动态添加表行。一切正常,但行只是不会添加到最后一个< TR取代。相反,它将自己添加到<表> ...
我很困惑。任何人都可以帮我吗?这是代码
的Javascript
var counterx = 2;
var counter = 2;
$(document).ready(function(){
$("#addMoreRcpt").click(function(){
if (counterx>10){
alert("Only 10 reciepients are allowed");
return false;
}
var newTextBoxDiv = $(document.createElement('div')).attr("id", 'RcptEml_' + counter);
newTextBoxDiv.append("<tr><td>New Data</td><td>New Data</td><td>New Data</td></tr>");
newTextBoxDiv.appendTo("#RcptGroup");
counter++;
counterx++;
});
});
function fncDelRcpt(id){
$("#RcptEml_"+id).remove();
counterx--;
}
HTML
<table border=1>
<div id="RcptGroup">
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
<div id="1">
<tr>
<td>data</td>
<td>Data</td>
<td>data</td>
</tr>
</div>
</div>
</table>
<br /><a id="addMoreRcpt" href="#" >Add more reciepients</a>
答案 0 :(得分:1)
以下是您应该运行的代码部分:
剧本:
$(document).ready(function() {
$("#addMoreRcpt").click(function() {
if (counterx > 10) {
alert("Only 10 reciepients are allowed");
return false;
}
var newTextBoxRow = $(document.createElement('tr')).attr("id", 'RcptEml_' + counter);
newTextBoxRow.append("<td>New Data</td><td>New Data</td><td>New Data</td>");
newTextBoxRow.appendTo("#RcptGroup");
counter++;
counterx++;
});
});
表:
<table border="1" id="RcptGroup">
<tr id="0">
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
<tr id="RcptEml_1">
<td>data</td>
<td>Data</td>
<td>data</td>
</tr>
</table>
工作小提琴:http://jsfiddle.net/pratik136/2au73/5/
正如您对问题的评论中所建议的那样,<Div/>
不能嵌套在<Table/>
中。以下是HTML 4.01
的指南,但几乎所有内容都应该成立:http://www.cs.tut.fi/~jkorpela/html/nesting.html