使用javascript或jquery取消隐藏搜索结果div而无需单击按钮

时间:2012-10-09 18:20:22

标签: javascript jquery html css

我现在非常沮丧......犯了很多错误。抱歉,

我一直试图根据搜索结果取消隐藏特定的div

如果没有进行搜索,则不应出现div,并且使用css很容易,但是一旦搜索完成,我必须将样式更改为“阻止”。

由于我使用谷歌自定义搜索JavaScript,因此太难以替换触发我的javascript功能的另一个类似按钮的按钮。

我也无法弄清楚如何将“resultDiv”替换为更复杂的路径

我已经完成了这个javascript函数来隐藏基于结果div的div ...

css div风格位于#main.section .widget.HTML

function check()
{
    if (document.getElementById('resultDiv')) {
      if ($('.gsc-expansionArea').is(":empty")) {
         document.getElementById('resultDiv').style.display = 'none';
      }
      else {
         document.getElementById('resultDiv').style.display = 'block';
      }
   }    
}

我认为可能有两种可能的解决方案。首先是加载脚本

<body onLoad="check();"> 

但似乎不起作用。

第二个是检查URL?q =表示搜索已完成,但我不知道如何从URL获取这些参数。

请帮助我。谢谢

3 个答案:

答案 0 :(得分:2)

好吧,因为你标记了

$(window).load(function(){
   check();
})

你的函数check()可能更像是

function check() {
    if ($('#resultDiv').length) {
        if ($('.gsc-expansionArea').is(":empty")) {
            $('#resultDiv').css({'display': 'none'})
        }
        else {
            $('#resultDiv').css({'display': 'block'})
        }
    }
}

<强> -

  

第二个是检查URL?q =表示已完成搜索,但是我   不知道如何从URL获取这些参数。

使用location.search

答案 1 :(得分:1)

替换

<body onLoad="javascript:check();"> 

<body onLoad="check();"> 

答案 2 :(得分:-1)

您可以使用

$(document).ready(function()
{ 
  check();  
} 

在页面加载时加载函数。您还可以使用jQuery简化您的功能:

function check()
{
  var isEmpty= $('.gsc-expansionArea').is(":empty");
  $('#resultDiv').toggle(isEmpty);
}

toggle的文档是here