Javascript 单击显示下一个div
假设我有以下HTML布局:Javascript 单击显示下一个div,javascript,php,ajax,jquery,Javascript,Php,Ajax,Jquery,假设我有以下HTML布局: <div class="main"> <div class="comment"> <div class="info"> <div class="data"> <img src="image.png" class="image-click" /> </div> </div> </div> <div cl
<div class="main">
<div class="comment">
<div class="info">
<div class="data">
<img src="image.png" class="image-click" />
</div>
</div>
</div>
<div class="open-me"></div>
<div class="comment">
<div class="info">
<div class="data">
<img src="image.png" class="image-click" />
</div>
</div>
</div>
<div class="open-me"></div>
<div class="comment">
<div class="info">
<div class="data">
<img src="image.png" class="image-click" />
</div>
</div>
</div>
<div class="open-me"></div>
</div>
... etc ...
这个
在AJAX成功方法中不再引用单击的元素。为此,我们可以将上下文变量设置为this:
$(document).on("click", ".image-click", function() {
var self = $(this);
$.ajax({
url: 'show_html.php',
type: "POST",
success: function(data) {
self.parents(".comment").next(".open-me").html(data);
}
});
});
这个
在AJAX成功方法中不再引用单击的元素。为此,我们可以将上下文变量设置为this:
$(document).on("click", ".image-click", function() {
var self = $(this);
$.ajax({
url: 'show_html.php',
type: "POST",
success: function(data) {
self.parents(".comment").next(".open-me").html(data);
}
});
});
您可以使用它访问兄弟姐妹打开我。此外,还应该在.ajax()之外保存对$(this)的引用
jQuery关于的文档是相关的。您可以使用它访问兄弟OpenMe。此外,还应该在.ajax()之外保存对$(this)的引用
jQuery关于的文档是相关的。欢迎,您没有发送任何参数。。没有这一点,就不需要GET/POST:DWelcome,您不会发送任何参数。。没有这一点,就不需要GET/POST:DDidn工作。:/它正在返回数据,但却从未显示。@Burrows——你必须对这些
数据做些什么。我已经在你的success
函数中添加了一个参数,并将其添加到HTML中,请尝试使用新代码。我的代码中实际上有数据集,但删除了它,因为我认为它不重要。然而,它仍然不起作用/你怎么说的?--@Burrowsit显示POSThttp://localhost/website/show_html.php 200正常14毫秒
。它正在按应有的方式返回数据,但未显示数据。不起作用。:/它正在返回数据,但却从未显示。@Burrows——你必须对这些数据做些什么。我已经在你的success
函数中添加了一个参数,并将其添加到HTML中,请尝试使用新代码。我的代码中实际上有数据集,但删除了它,因为我认为它不重要。然而,它仍然不起作用/你怎么说的?--@Burrowsit显示POSThttp://localhost/website/show_html.php 200正常14毫秒
。它返回了它应该返回的数据,但是它没有显示它。好的,那么也许你需要实际设置一些HTML?如果没有将任何内容传递到.html()中,它将返回它。如果你传入一些东西,比如.html(“blah-blah”),它会设置它。我实际上是在向它传递数据,但这里没有包含它。然而,即使使用数据,它仍然不起作用/好吧,也许你需要设置一些HTML?如果没有将任何内容传递到.html()中,它将返回它。如果你传入一些东西,比如.html(“blah-blah”),它会设置它。我实际上是在向它传递数据,但这里没有包含它。然而,即使使用数据,它仍然不起作用/
// outside the ajax function
var that = $(this);
// inside the ajax function
that.parent(".comment").next("open-me").html();