2013-02-17 66 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