所有表单都显示..我只希望该#google-search在页面加载时处于活动状态。谢谢
$(".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>发布于 2010-11-16 19:56:41
我认为这应该可以隐藏所有没有用类名‘cur-search’表示的链接:
$(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()来隐藏索引大于0的所有form元素,我怀疑这一点很明显。
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();
}
});它有点凌乱,但会找到您想要显示的form (基于与cur-search类的链接),然后遍历所有表单以确定要显示哪个表单,并隐藏其他表单。
JS Fiddle demo at: http://jsfiddle.net/davidThomas/gnbkS/4/.
https://stackoverflow.com/questions/4193787
复制相似问题