Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果没有结果,如何清除_Javascript_Jquery - Fatal编程技术网

Javascript 如果没有结果,如何清除

Javascript 如果没有结果,如何清除,javascript,jquery,Javascript,Jquery,我有一张地图。每当我点击陈述时,它就会调出分销商并显示出来。 但是,如果没有来自数据库的结果,它会在页面上保留上一个结果。 我想要的是,若那个特定状态并没有结果,我希望它将容器变空。我怎么做 $(document).ready(function() { $("#SC").click(function() { if ($("div.SC_info").is(":hidden")) { $("#repinfo_container div.info_co

我有一张地图。每当我点击陈述时,它就会调出分销商并显示出来。 但是,如果没有来自数据库的结果,它会在页面上保留上一个结果。 我想要的是,若那个特定状态并没有结果,我希望它将容器变空。我怎么做

$(document).ready(function() {
    $("#SC").click(function() {
        if ($("div.SC_info").is(":hidden")) {
            $("#repinfo_container div.info_cont").removeClass("active");
            $("#repinfo_container div.info_cont").addClass("inactive");
            $("div.SC_info").slideDown("fast");
            $("div.SC_info").removeClass("inactive");
            $("div.SC_info").addClass("active");
            $("div.inactive").slideUp("fast");
        } else {}
    });
});​
更多细节 看看这张照片。这是一张交互式分布图。问题是,例如,在数据库中,我有CA(加利福尼亚)的结果(分销商)。当我单击时,它会向上拉并显示在底部。但是,如果我单击LA(状态),因为没有结果,它将显示以前单击的状态的结果。我想要的是,如果我没有这个状态的任何结果,我希望它显示那个容器,而不是显示以前的结果。我希望现在它更有意义

下面是整个页面的源代码

pastebin.com/mxyDpZCx

我想要的是,若那个特定状态并没有结果,我希望它将容器变空

你可以做:

$(selector).html('');
提示:

您应该缓存所选内容以获得更好的性能,例如:

$("div.SC_info").slideDown("fast");
$("div.SC_info").removeClass("inactive");       
$("div.SC_info").addClass("active");
您可以选择:

var selection = $("div.SC_info");
selection.slideDown("fast");
selection.removeClass("inactive");       
selection.addClass("active");

这样,您只需选择一次元素,然后进行选择操作,而不是三次选择它们。

您所说的“空”是什么意思?可能没有设置
innerHTML='
…@MaxArt。您的方式可能导致内存泄漏@gdoron我知道,这就像用大锤杀死一只蚊子:)顺便说一句,我认为现在的浏览器处理
innerHTML
导致的内存泄漏是正确的,或者至少比过去要好得多。@MaxArt。它与现代浏览器无关。jQuery将数据保存在缓存中,需要告诉它删除这些数据。我喜欢大锤的笑话:)@gdoron啊,这就是你的意思。。。好的,当我写评论的时候,我根本没有考虑jQuery,我应该把它放在哪里?问题是我正在从数据库中提取数据。我的问题是,如果数据库中没有结果,我想删除前一个。因为else if将前一个保留在底部。@SNaRe。我根本不懂这个问题(看这张图片。这是一张交互式分布图。问题是,例如,在数据库中,我有CA(加利福尼亚州)的结果(分销商)。当我单击它时,它会弹出并显示在底部。但是,如果我单击LA(州)由于没有结果,它会显示以前单击状态的结果。我想要的是,如果我没有此状态的任何结果,我希望它显示该容器,而不是显示以前的结果。我希望现在它更有意义。我应该把它放在哪里?问题是我正在从数据库中提取数据。我的问题是,如果没有来自的结果数据库我想删除上一个。因为否则if会将上一个保留在底部。您可以将其放入一个回调函数中,从数据库中获取结果。只需检查响应,如果响应为空,则清除容器。是否可以仅使用jquery执行此操作?以下是页面的完整代码
var selection = $("div.SC_info");
selection.slideDown("fast");
selection.removeClass("inactive");       
selection.addClass("active");