Javascript 引用表的顶行
我希望下面的脚本将表行移动到表的顶部。我不知道如何引用第一行的id,但是,由于id是动态设置的,所以我尝试了Javascript 引用表的顶行,javascript,Javascript,我希望下面的脚本将表行移动到表的顶部。我不知道如何引用第一行的id,但是,由于id是动态设置的,所以我尝试了row.insertAfter(row.first())但它使行消失,而不是移动它。你知道如何引用最上面一行吗 $(".top").click(function(){ var row = $(this).parents("tr:first"); if ($(this).is(".top")) { row.inserAfter(
row.insertAfter(row.first())代码>但它使行消失,而不是移动它。你知道如何引用最上面一行吗
$(".top").click(function(){
var row = $(this).parents("tr:first");
if ($(this).is(".top")) {
row.inserAfter(row.first());
} else {
return false;
}
});
<tbody id="sortable">
<tr id="row1">
<td><a href="" class="top">Top</a></td>
</tr>
<tr id="row2">
<td><a href="" class="top">Top</a></td>
</tr>
<tr id="row3">
<td><a href="" class="top">Top</a></td>
</tr>
</tbody>
$(“.top”)。单击(函数(){
var行=$(this).parents(“tr:first”);
if($(this).is(“.top”)){
inserAfter(row.first());
}否则{
返回false;
}
});
你想做这样的事吗
$(".top").click(function(){
var $this = $(this); // make a reference to the current element
$.ajax({
url: 'your/ajax/url.php',
success: function(data) {
// do what you want with data,
// and then move the row on top
// of the table, like so
var row = $this.parents("tr");
var first_row = row.parent().find('tr:first');
if (row && first_row && row != first_row) {
row.insertBefore(first_row);
}
}
});
return false; // stay on the page
});
查看更多信息您想这样做吗
$(".top").click(function(){
var $this = $(this); // make a reference to the current element
$.ajax({
url: 'your/ajax/url.php',
success: function(data) {
// do what you want with data,
// and then move the row on top
// of the table, like so
var row = $this.parents("tr");
var first_row = row.parent().find('tr:first');
if (row && first_row && row != first_row) {
row.insertBefore(first_row);
}
}
});
return false; // stay on the page
});
检查更多信息this.parentNode.firstChild===this
this.parentNode.parentNode.firstChild====
Aargh)起初我没有注意到这一点。类不习惯于,现在不习惯于(this.parentNode.firstChild==this
this.parentNode.parentNode.firstChild===
Aargh)一开始我没有注意到。类不习惯,现在-不习惯(Josh,我试过了,但没有尝试。它现在什么都没做。行保持原样。我做了一个警报(第一行),结果我得到了[object]@梅尔:哎呀,你说得对,我的父遍历中有一个逻辑错误。检查更新,我包含了一个指向一个运行的实时演示的链接。乔希,太好了!它运行了…我现在遇到的问题是我在链接中有一个ajax调用…现在ajax调用将不会触发…@Mel这不应该干扰任何其他单击处理程序(包括ajax),因为它没有显式地做任何事情来阻止传播/冒泡Josh,我尝试了,但没有成功。它现在什么都没有做。行保持原样。我做了一个警报(第一行),结果得到了[object]@梅尔:哎呀,你说得对,我的父遍历中有一个逻辑错误。检查更新,我包含了一个指向一个运行的实时演示的链接。乔希,太好了!它运行了…我现在遇到的问题是我在链接中有一个ajax调用…现在ajax调用将不会触发…@Mel这不应该干扰任何其他单击处理程序(包括ajax),因为它没有显式地做任何事情来防止传播/冒泡,所以它工作得非常好,只有在我的真实场景中,我在链接中有一个ajax调用……现在它将不再触发了:/您可以使用$(选择器).live('click',function(){/*…*/})
将该方法绑定到一个单击事件,包括当前和所有已添加到页面中的未来元素,从而使其持久化。请参阅Wait,是否在onclick
中定义了ajax调用?如果是,请将return false;
替换为:`}else{return false;}`我知道,这也很有效。非常感谢。我现在不确定该选择哪一个答案:D-最后一个问题,在我的ajax调用成功后如何放弃onClick-on-just-call?谢谢,我会很感激的!它非常有效,只有在我的真实场景中,我在链接中有一个ajax调用…现在这将不再触发:/u可以吗se$(选择器).live('click',function(){/*…*/})
将方法绑定到一个click事件,包括当前和所有已添加到页面中的未来元素,从而使其持久化。请参阅Wait,是否在onclick
中定义了ajax调用?如果是,请将return false;
替换为:`}else{return false;}`我知道,这也行。非常感谢。我现在不确定该选择哪一个答案:D-最后一个问题,在我的ajax调用成功后,如何放弃onClick-on-just-call-it?谢谢,我将不胜感激!
var row = $(this).find("tr").eq(0);
$(".top").click(function(){
var $this = $(this); // make a reference to the current element
$.ajax({
url: 'your/ajax/url.php',
success: function(data) {
// do what you want with data,
// and then move the row on top
// of the table, like so
var row = $this.parents("tr");
var first_row = row.parent().find('tr:first');
if (row && first_row && row != first_row) {
row.insertBefore(first_row);
}
}
});
return false; // stay on the page
});