首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery搜索问题。所有表单都在显示

jquery搜索问题。所有表单都在显示
EN

Stack Overflow用户
提问于 2010-11-16 19:49:56
回答 1查看 59关注 0票数 0

所有表单都显示..我只希望该#google-search在页面加载时处于活动状态。谢谢

代码语言:javascript
复制
 $(".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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-16 19:56:41

我认为这应该可以隐藏所有没有用类名‘cur-search’表示的链接:

代码语言:javascript
复制
$(document).ready(
    function(){
        $('#search-by a:not(".cur-search")').hide();
    });

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

或者,如果您不知道要隐藏的元素的特定类:

代码语言:javascript
复制
$(document).ready(
    function(){
        $('#search-by a').not(':contains(Google)').hide();
    });

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

假设它只是您想要显示的第一个表单元素,您可以使用:

代码语言:javascript
复制
$('form:gt(0)').hide();

它使用gt()来隐藏索引大于0的所有form元素,我怀疑这一点很明显。

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

或者,您可以使用以下命令:

代码语言:javascript
复制
$('form').each(
    function(){
        var curForm = $('.cur-search').attr('href').substr(1);
        if (this.id != curForm) {
          $(this).hide();  
        }
    });

它有点凌乱,但会找到您想要显示的form (基于与cur-search类的链接),然后遍历所有表单以确定要显示哪个表单,并隐藏其他表单。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4193787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档