我有一些使用 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
中的所有内容都可以重新加载,但内部的 span 不会被隐藏,它们会重新出现,我不知道如何在它们出现后隐藏它们已通过 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() {
}
});
加载
docs :
.load( url [, data] [, complete(responseText, textStatus, XMLHttpRequest)])
url
包含请求发送到的 URL 的字符串。data
随请求一起发送到服务器的映射或字符串。complete(responseText, textStatus, XMLHttpRequest)
请求完成时执行的回调函数。
关于javascript - 如何隐藏 Jquery 中已使用 .load 函数加载的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079238/