jQuery从不同元素中的元素加载信息

时间:2013-02-17 15:48:07

标签: jquery jquery-get

如何从加载了$ .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')

从新加载的链接中获取值?

1 个答案:

答案 0 :(得分:0)

似乎你是在动态地将元素加载到你的html中,这样新元素就没有附加了click事件,因为你可能将它附加到document.Ready()..

jQuery有一个“on”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");

您只获取属于#more元素

的html内容

Additional information