如何从加载了$ .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')
从新加载的链接中获取值?
答案 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
元素