2010-11-16 29 views
0

所有表格都显示..我只想让#google-search在页面加载时处于活动状态。谢谢jquery搜索问题。所有表格都显示

$(".header-search-input").keyup(function() { 
    $(".header-search-input").val($(this).val()); 
}); 

var $searchByLinks = $("#search-by > a"); 

$searchByLinks.click(function() { 
    var $el = $(this) 
    $(".header-search-form").hide(); 
    $($el.attr("href")).show(); 
    $searchByLinks.removeClass("cur-search"); 
    $el.addClass("cur-search"); 
    return false; 
}); 


    <div id="search-by"> 

    <a class="cur-search" href="#google-search">Google</a> 
    <a href="#image-search">Images</a> 
    <a href="#youtube-search">Youtube</a> 
    <a href="#maps-search">Maps</a> 
    </div> 

回答

0

我认为这应该工作,以隐藏不被类名“CUR搜索”所代表的各个环节:

$(document).ready(
    function(){ 
     $('#search-by a:not(".cur-search")').hide(); 
    }); 

JS Fiddle demo: http://jsfiddle.net/davidThomas/aZUgw/

,或者,如果你不知道具体类的元素不隐藏:

$(document).ready(
    function(){ 
     $('#search-by a').not(':contains(Google)').hide(); 
    }); 

JS Fiddle demo: http://jsfiddle.net/davidThomas/aZUgw/1/


假设这是你想要只显示第一表单元素,你可以使用:

$('form:gt(0)').hide(); 

其中采用gt(),我怀疑是显而易见的,可以隐藏所有form元素与指数大于0.

JS Fiddle demo at: http://jsfiddle.net/davidThomas/gnbkS/3/

,或者,你可以这样做:

$('form').each(
    function(){ 
     var curForm = $('.cur-search').attr('href').substr(1); 
     if (this.id != curForm) { 
      $(this).hide(); 
     } 
    }); 

这是一个有点乱,但发现要显示(基于与cur-search类的链接),它form,然后通过所有的迭代制定出表明和隐藏其他表格的表格。

JS Fiddle demo at: http://jsfiddle.net/davidThomas/gnbkS/4/

+0

没有它在这里不工作是链接到网站.. www.pocetna.net非常感谢你的帮助 – zubak 2010-11-16 11:59:58

+0

JS小提示建议id * does *工作。如果您可以将代码示例发布到[JS Fiddle](http://jsfiddle.net/)或[JS Bin](http://jsbin.com/),我会为您寻找。顺便说一下,您的网页无法验证:http://validator.w3.org/check?uri=http://www.pocetna.net/&charset=(detect+automatically)&doctype=Inline&group=0 – 2010-11-16 12:07:35

+0

现在就开始验证。 :)看这里http://jsfiddle.net/gnbkS/1/我想只显示谷歌的第一..但在你的例子菜单disapers了,只有谷歌显示.. – zubak 2010-11-16 12:13:36