Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引用表的顶行_Javascript - Fatal编程技术网

Javascript 引用表的顶行

Javascript 引用表的顶行,javascript,Javascript,我希望下面的脚本将表行移动到表的顶部。我不知道如何引用第一行的id,但是,由于id是动态设置的,所以我尝试了row.insertAfter(row.first())但它使行消失,而不是移动它。你知道如何引用最上面一行吗 $(".top").click(function(){ var row = $(this).parents("tr:first"); if ($(this).is(".top")) { row.inserAfter(

我希望下面的脚本将表行移动到表的顶部。我不知道如何引用第一行的id,但是,由于id是动态设置的,所以我尝试了
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
});