使用JQuery将HTML插入DIV

使用JQuery将HTML插入DIV,jquery,html,Jquery,Html,我在html中的div标记中嵌套了一堆按钮 <div class="button-wrapper"> <button class="button-class">Click here</button> </div> <div class="button-wrapper"> <button class="button-class">Click here</button> </div> ..

我在html中的div标记中嵌套了一堆按钮

<div class="button-wrapper">
    <button class="button-class">Click here</button>
</div>
<div class="button-wrapper">
    <button class="button-class">Click here</button>
</div>
...
我知道数据已成功发布,成功功能正在运行。奇怪的是,以下方法有效:

$(".button-wrapper").html(data);
但很明显,这会将HTML添加到每个div中,而不仅仅是用于单击按钮的div


有人知道我在这里哪里出错了吗?

在jQuery中,“this”通常在回调中被覆盖。解决方法是使用另一个变量引用此变量:

var _this = this; //or var $_this = this;
$(_this).parent().html(data);

我建议使用firebug来调整选择器


除此之外,您不能为每个div设置唯一的id吗?

问题是,在您的回调
中,此
不再是按钮。试试这个:

$(".button-wrapper").click(function(){
   var that=this;
   $.ajax(
      // ...
      success: function(data){
         $(that).parent().html(data);  
      }
   );
});
Html:


您应该知道需要加载成功函数的日志,例如:
setInterval(myFunction,2500)

这对您完全有帮助

$("button").click(function(){
    $("div").html("Hello <b>world</b>!");
}); 
$(“按钮”)。单击(函数(){
$(“div”).html(“你好,世界!”);
}); 

这似乎应该能起作用,但我认为您存在范围问题,除非您发布整个。ajax函数,请完整发布该函数。这听起来像是关键字
this
的另一个问题。你能发布执行插入任务的脚本并让我们看看吗?我们不能不看一眼就说太多。+1谢谢,这太好了!有两个类似的答案,所以只使用发布的第一个答案。谢谢@Nico,我可以设置唯一的ID,但我希望不必这样做,结果我没有!谢谢@kmb385,但仅供参考,我测试了它,但它实际上不起作用。问题是在jQuery回调中引用正确的
this
。这个答案是无关紧要的(除了你的朋友们投票之外)-1
<div class="button-wrapper">
    <button class="button-class">Click here</button>
</div>
<div class="button-wrapper">
    <button class="button-class">Click here</button>
</div>
  $.ajax({
//..
      success: function(){
         $(".button-class").click(function(){
           $(this).parent().html("Dynamic Html");
        });
      }
    });
$("button").click(function(){
    $("div").html("Hello <b>world</b>!");
});