如何隐藏已使用.load函数加载的Jquery中的元素
问题描述:
我有一些使用JQuery加载函数进行更新的类。当第一次加载页面我针对他们,并隐藏他们是这样的:如何隐藏已使用.load函数加载的Jquery中的元素
$('.classname').hide();
我做了ajax load
这样的:
$.ajax({
type: "GET",
url: "index.php",
data: dataString,
success: function() {
$('.wrapperClass').load('index.php .wrapperClass');
$('.classname').hide();
},
error: function() {
}
});
为了保持它的简单的HTML是这样的:
<div class="wrapperClass">
<span class="classname">Content 1</span>
<span class="classname">Content 2</span>
</div>
问题是,wrapperClass
get的所有内容都被重新加载,但内部跨度不会被隐藏,它们会重新出现,并且我无法弄清楚如何通过Ajax重新加载后隐藏它们。
答
正如您可能(\应该)知道的那样,load
是一个ajax请求,所以当您试图隐藏它们时,这些元素不会被加载。
移动,处理加载的内容,以完整的回调代码:
success: function() {
$('.wrapperClass').load('index.php .wrapperClass', function(){
$('.classname').hide();
});
}
全码:
$.ajax({
type: "GET",
url: "index.php",
data: dataString,
success: function() {
$('.wrapperClass').load('index.php .wrapperClass', function() {
$('.classname').hide();
});
},
error: function() {
}
});
load
docs:
.load(url [, data] [, complete(responseText, textStatus, XMLHttpRequest)])
-
url
包含请求发送到的URL的字符串。 -
data
与请求一起发送到服务器的映射或字符串。 -
complete(responseText, textStatus, XMLHttpRequest)
请求完成时执行的回调函数。
答
您需要将$('.classname').hide();
加入的回调函数中。现在,它试图在元素存在于页面之前隐藏元素。试试这个:
$.ajax({
type: "GET",
url: "index.php",
data: dataString,
success: function() {
$('.wrapperClass').load('index.php .wrapperClass', function() {$('.classname').hide();});
},
error: function() {
}
});
@Talon。 **除非有其他问题,否则不能**。 – gdoron 2012-04-09 20:22:51
想通了,我确实有其他问题,它现在工作,谢谢 – Talon 2012-04-09 20:26:10
@Talon。我的水晶球就像一个魅力...... **; - )** – gdoron 2012-04-09 20:27:28