我有2种类型的表,我想在2 一间交换行是这样的:硬表行交换,换行的母公司为空
<table>
<tr class="aTable">
<td>
</table>
另:
<table class="bTable">
<tr>
<td>
</table>
的这个不同形式的原因是,我有多个实例的aTable
在左侧,从中我需要选择一行与一排被交换一个bTable
在右侧。
所以我必须从左侧的任意多的选择1排aTable
表,突出显示红色,从右侧bTable
选择1排,突出显示它的绿色,并单击“交换”来调用swapFunction()
我用下面的代码每次
$('.aTable').on('click', function(event) {
if($(this).hasClass("highlightred")){
$(this).toggleClass('highlightred');
}else{
$('.aTable').each(function(idx, elm) {
$('.aTable').removeClass('highlightred');
});
$(this).toggleClass('highlightred');
}
});
$('.bTable').on('click', 'tbody tr', function(event) {
$(this).toggleClass('highlightgreen')
.siblings().removeClass('highlightgreen');
});
和下面的函数来突出特定行交换:
function swapFunction() {
var sourceRow = $('.bTable tbody tr.highlightgreen').removeClass('highlightgreen').toggleClass('aTable').eq(0);
var targetRow = $('tbody tr.aTable.highlightred').removeClass('highlightred').removeClass('aTable').eq(0);
sourceRow.after(targetRow.clone());
targetRow.replaceWith(sourceRow);
};
一切工作正常,如果我做交换一次,但如果我尝试交换这些行,targetRow
不能突出显示如此选择,sourceRow
似乎得到highlightred
和highlightgreen
两个类。我打印targetRow
父母(),似乎是null
切换后,而sourceRow
父母()似乎很好......任何人都有什么想法是什么问题?
以及我在想,aTable是由规模较小的广泛表,给这个名字,但你是正确的,它是这个不一致 – ge0rgi0
感谢,我检查它的作品确定用很少的调整! – ge0rgi0
我的代码是一个皇家混乱...我不知道大多数jQuery的功能,我不断调整从stackoverflow其他人的代码。 suckkk .. – ge0rgi0