使用JQuery将HTML插入DIV
我在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> ..
<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>!");
});