2011-05-06 52 views
3

我试图设置一个jQuery脚本来控制外观搜索表单的高级部分。如果搜索尚未提交,则包含高级搜索的div应保持隐藏状态。但是,如果搜索已按照包含字符串“Search”的URL指定提交,请显示高级搜索divjQuery检查字符串的URL

我看到的问题是,无论网址中有什么,它总是通过淡入来显示#advsearch div。它从不返回错误。我究竟做错了什么?谢谢你的帮助!

if(window.location.href.indexOf("Search")) { 
$('#advsearch').fadeIn() 
} 
else { 
    $('#adv').click(function() { 
    $('#advsearch').slideDown() 
    }); 
} 

回答

7

如果无法找到字符串indexOf回报-1,其计算结果为true

做:

if(window.location.href.indexOf("Search") > -1) 

根据在字符串中的URL,你可能只是想在URL的pathNamesearchhash部分进行搜索。看看documentation of the location object

+1

尽管在URL中不会出现这种情况,但如果匹配以字符串的第一个字符开头 – cwallenpoole 2011-05-06 17:13:56

+0

,则返回0(其结果为false)完美地工作!谢谢! – Vecta 2011-05-06 17:30:29