2013-02-17 85 views
0

如何從加載了$ .get的鏈接獲取href值?我的腳本總是使用以前在div中的值,而不是之後加載的值。jQuery從不同元素中的元素加載信息

代碼:

<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') 

來從價值新加載的鏈接?

+0

當您使用'$ .fn.eepager'? 'options.link' =='defaults.link',從我們可以看到你永遠不會更新。 – Popnoodles 2013-02-17 15:52:01

+0

var link = $(data).find(「。paglink_extern」)。attr('href')'在ajax函數的完整處理程序中。 – adeneo 2013-02-17 15:53:37

+0

首先,您在默認情況下有一個額外的逗號。第二你可以粘貼你的HTML! – 2013-02-17 15:56:43

回答

0

看來你是動態加載的元素到HTML,這樣的新元素重視他們,因爲你可能附上它的document.ready()沒有click事件..

jQuery有一個「上」您可以使用API​​將點擊事件附加到動態加載的DOM元素。

試試這個代碼

$(".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()); 
      }); 
}); 

此代碼是coorect

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

你只拿屬於HTML內容到#more元素

Additional information