2011-05-01 31 views
0

我一直在嘗試改變我從一個PHP文件接收到的div的內容。我正面臨的問題是這個特定的部分$(this).siblings(「div」)。html(「info」); 它沒有更新內容。它在沒有成功的時候可以正常工作,回想我錯過了什麼?兄弟的HTML更新不按預期工作jquery

<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

請張貼您的HTML標記以及。 – 2011-05-01 21:54:10

回答

1

this Ajax調用指向XHR對象,而不是$("button")了裏面。它存放在一個變種,之前的Ajax調用,並在以後使用它:

$this = $(this);

及更高版本:

$this.siblings("div").html(data);

0

我不認爲$(this)有你的範圍認爲它在回調中有效。請嘗試使用明確的選擇器代替:

$(".divClass").siblings("div").html(data);