0
<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は本来の機能を果たしますが、クリックされた後にリンクを非表示にするにはどうすればよいですか?

4

3 に答える 3

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();

          }

        });

});

したがって、ここで行うことは、クリックイベントを登録し、実行されたら、現在の要素への参照を保存することです。まだ同じスコープで実行されているので、正常にアクセスして表示にすることができます。

于 2012-07-17T14:04:05.013 に答える
0

あなたは本質的に「jQueryで要素を選択するにはどうすればよいか」と尋ねています。HTMLの現在の状態では、リンクはおそらく次のようにターゲットにされます。

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

ただし、コードはリンクによって呼び出されるイベントコールバックで実行されているため、その相対参照を使用できます。@Jure C.の回答は、これの1つの手段を示しています。もう1つは次のとおりです。

success: (function(link) { return function(html) {
    $('#'+ResultsId).append(html);
    link.hide();
}; })($(this))
于 2012-07-17T14:04:27.907 に答える
0

$(this).hide();を実行できるはずです。または、アンカータグにクラスを与えることができます。

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

その後

success: function(html){
    $("#"+ResultsId).append(html);
    $(".thisBtn').hide();
  }
于 2012-07-17T14:05:33.640 に答える