我一直在尝试更改从php文件中收到的div的内容。我面临的问题是这个特殊的部分$(this).siblings(“div”)。html(“info”); 它没有更新内容。如果没有成功回调我错过了什么呢?
<script type="text/javascript">
$(function(){
$("button").click(function(){
var name =$(this).attr('name');
var info = 'test=' + name;
var div= name;
$.ajax({
type: "GET",
url: "yes.php",
data: info,
success:
function(data)
{
$(this).siblings("div").html(data);
}
});
});
});
</script>
<style type="text/css">
.max {
color: #00F;
height: 25px;
}
.recent {
background-color: #0F0;
width: 500px;
height: 24px;
}
div.min{
width: 200px;
height: 100px;
overflow: hidden;
background-color: #F00;
}
</style>
<div>
<div class="min">Whats up dude?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</div>
<button name='what'>Read More</button>
</div>
<br/>
<div>
<div class="min">Whats up dude?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</div>
<button name='jack'>Read More</button>
</div>
答案 0 :(得分:1)
this
指向xhr对象,而不再指向$("button")
。将它存储在ajax调用之前的var中,稍后再使用它:
$this = $(this);
以后:
$this.siblings("div").html(data);
答案 1 :(得分:0)
我不认为$(this)
具有你在回调中所做的范围。请尝试使用显式选择器:
$(".divClass").siblings("div").html(data);