1 回答
TA贡献1853条经验 获得超6个赞
正如@Taplar之前所说,您的代码存在多个问题,因此我不会逐个讨论它们。但我会提到那些值得注意的。
.on()
将接受事件,选择器,数据和处理程序,但在您的情况下,您只需要其中两个,因此它应该而不是当前版本。.on('click', function(){})
为了将元素添加到第三列,您需要做的就是获取特定于元素的类或id,并将所需的元素附加到其中。但是你在那里做了什么会导致将另一
个<th>
追加到你的表中,这意味着它会自动将新元素添加到新行中,并且会破坏表结构,因为有4列,并且你想在第3列和第4列之间添加。<th>
partition1
在 HTML 中不是一个唯一的类,所以每当你尝试向它添加一些东西时,它都会在两个不同的位置添加。
这是一个修复程序,供您寻找:
$('.add-pkey1').on('click', function() {
$('.partition1.column3').append('<input type="text" name="input1" value="test" />');
})
table {
border-collapse: collapse;
margin: 1em;
}
thead {
background-color: lightblue;
}
td,
th {
border: solid grey 1px;
padding: 1em;
text-align: center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="table-id">
<thead>
<tr>
<th colspan="6" class="text-center">
<span>Source : </span>
</th>
</tr>
<tr>
<th>input1</th>
<th>input2</th>
<th class="partition1">Partition1</th>
<th class="partition2">
Partition2
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input id="input1" type="text" name="input1" />
</td>
<td>
<input id="input2" type="text" name="input2" />
</td>
<td class="partition1 column3">
<input type="text" name="partition" />
</td>
<td class="partition2">
<input type="text" name="partition2" />
</td>
</tr>
</tbody>
</table>
<button class="add-pkey1">add pk1</button>
添加回答
举报