0

$.get でロードされたリンクから href 値を取得するにはどうすればよいですか? 私のスクリプトは、後でロードされた値ではなく、div にあった値を常に使用します。

コード:

<html>
<body>
<div id="wrapper">
  <div id="more">
    content
  </div>
  <div class="paglink">
    <a href="/the/url/to/page/1">More</a>
  </div>
</div>
<script>
jQuery(document).ready(function($) {

     $(".paglink a").click(function(e) {
          e.preventDefault();
          $.get($(".paglink a").attr('href'), function(data){ 
            $(data).find("#more").appendTo("#more");
            $(".paglink").html($(data).find(".paglink").html());
          });     
     });

});
</script>
</body>
</html>

読み込まれるページ:

<html>
<body>
<div id="wrapper">
  <div id="more">
    content
  </div>
  <div class="paglink">
    <a href="/the/url/to/page/2">More</a>
  </div>
</div>
</body>
</html>

要するに:代わりに何を書く必要がありますか

$(".paglink a").attr('href')

新しくロードされたリンクから値を取得するには?

4

1 に答える 1

0

あなたのhtmlに要素を動的にロードしているようです。新しい要素には、おそらくdocument.Ready()に添付されているため、クリックイベントが添付されていません。

jQuery には、動的に読み込まれる DOM 要素にクリック イベントをアタッチするために使用できる "on" API があります。

このコードを試してください

$(".paglink").on('click' , 'a', function(e) {
          e.preventDefault();
          $.get($(this).attr('href'), function(data){
              alert(data);
            $(data).find("#more").appendTo("#more");
            $(".paglink").html($(data).find(".paglink").html());
          });   
 });

このコードは正確です

$(data).find("#more").appendTo("#more");

#more要素に属する html コンテンツのみを取得します

追加情報

于 2013-02-17T21:28:12.243 に答える