我尝试过使用stackoverflow中的多个示例,但由于某种原因,仍然无法在B之前将A显示在列表中。我想我需要另外一组眼睛。
<table>
<tr id="CATEGORY_container">
<td>b</td>
</tr>
</table>
<tr id="EVENTNAME_container">
<td>a</td>
</tr>
$(document).ready(function () {
var oobTR = $('#CATEGORY_container');
var extTR = $('#EVENTNAME_container');
extTR.insertAfter(oobTR);
});
答案 0 :(得分:1)
在你的小提琴中你缺少的是jQuery库在脚本之前包含它。虽然您的标记无效,但tr
should be the child of any of these:table
,thead
,tfoot
或tbody
。
如果您尝试在tr
包含a
之前插入元素,请使用insertBefore()
方法代替insertAfter()
方法。
$(document).ready(function() {
var oobTR = $('#CATEGORY_container');
var extTR = $('#EVENTNAME_container');
extTR.insertBefore(oobTR);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr id="CATEGORY_container">
<td>b</td>
</tr>
</table>
<table>
<tr id="EVENTNAME_container">
<td>a</td>
</tr>
</table>
答案 1 :(得分:0)
这是编辑过的小提琴。基本上我克隆了第一行并将其附加到表的末尾,然后删除第一行。 http://jsfiddle.net/wtkqzpj2/1/
var oobTR = $('#ctrl_523210b6_acca_48f6_ab48_a3ffea4ce10e_CATEGORY_container').clone();
var extTR = $('#ctrl_523210b6_acca_48f6_ab48_a3ffea4ce10e_EVENTNAME_container');
$('#tab').append(oobTR);
$('#ctrl_523210b6_acca_48f6_ab48_a3ffea4ce10e_CATEGORY_container').remove();
答案 2 :(得分:0)
当然你也可以跳过jQuery:
function run(){
var cat = document.querySelector('#categories tr');
var evt = document.querySelector('#events tr');
if(evt)
cat.parentNode.insertBefore(evt,cat)
}
&#13;
<table id="categories">
<tr>
<td>b</td>
</tr>
</table>
<table id="events">
<tr>
<td>a</td>
</tr>
</table>
<button onclick="run();">Run</button>
&#13;