Ajax - 点击后隐藏链接

时间:2012-07-17 14:01:37

标签: ajax

<script type="text/javascript">

      var url = document.URL;
      var strg = url.toString();
function StartAjax(ResultsId){
    $.ajax({
      type: "GET",
      url: "mark.php",
      cache: false,
    data: (strg),
      success: function(html){
        $("#"+ResultsId).append(html);
        **$("#").hide();**
      }

    });

}
</script>

<br><a href="#" name="link"  onclick="StartAjax('ResultsId');">Proceed</a>
<div id="ResultsId"></div>

Ajax做了它应该做的事情,但是如何在点击后隐藏链接?

3 个答案:

答案 0 :(得分:0)


<a href="#" name="link" class="clickme" onclick="StartAjax('ResultsId');">Proceed</a>

    $('.clickme').click(function(event){

        var _this = this;
        $.ajax({
          type: "GET",
          url: "mark.php",
          cache: false,
        data: (strg),
          success: function(html){
            $("#"+ResultsId).append(html);

            $(_this).hide();

          }

        });

});

所以你在这里做的就是在你身上注册点击事件,一旦它运行你保存对当前元素的引用。由于它仍然在相同的范围内运行,您可以在成功中访问它,您可以隐藏它。

答案 1 :(得分:0)

你基本上问“我如何用jQuery选择元素”。在HTML的当前状态下,链接可能会被定位为:

$('a[name=link]').hide();

但是,由于代码在链接调用的事件回调中运行,我们可以使用它的相对引用。 @Jure C.的答案显示了一种方法。另一个是:

success: (function(link) { return function(html) {
    $('#'+ResultsId).append(html);
    link.hide();
}; })($(this))

答案 2 :(得分:0)

你应该能够做一个$(this).hide();或者你可以给锚标签一个类

<br><a href="#" name="link" class="thisBtn" onclick="StartAjax('ResultsId');">Proceed</a>

然后

success: function(html){
    $("#"+ResultsId).append(html);
    $(".thisBtn').hide();
  }