如果当前网址包含某些内容

时间:2015-03-27 17:43:52

标签: javascript

最初的想法是根据当前网址将某个单选按钮设置为已选中。 出于某种原因,我的if语句不起作用。通向该页面的链接URL如下所示

domain.com/subdir/pagename#showteal

我的代码是

if(window.location.href.indexOf("showblack") > -1) {
   alert('black');
}
 if(window.location.href.indexOf("showteal") > -1) {
   alert('teal');
}

3 个答案:

答案 0 :(得分:0)

由于您正在使用jQuery在哈希中查找字符串:

$(window).bind( 'hashchange', function(e) {
      if(window.location.hash.indexOf("showblack") > -1) {
       alert('black');
    }
     if(window.location.hash.indexOf("showteal") > -1) {
       alert('teal');
    }
 });

答案 1 :(得分:0)

尝试:

window.location.hash.indexOf(" showteal&#34)

答案 2 :(得分:0)

我认为您应该尝试使用GET语法来执行此操作,因为哈希用于将页面锚定到元素ID中。

因此,使用GET,您的链接看起来像domain.com/subdir/pagename?show=teal

这个功能可以解决问题:

function get(name){
    if(name=(new RegExp('[?&]'+encodeURIComponent(name)+'=([^&]*)')).exec(location.search))
        return decodeURIComponent(name[1]);
}

它的使用变得简单,如var show = get("show");

我希望它适用于你。