【问题标题】:jQuery Conditional Base on URL基于 URL 的 jQuery 条件
【发布时间】:2012-09-11 06:34:58
【问题描述】:

我在下面有这段代码可以工作,除了它只在 URL 是“domain/dev”而不是“domain/dev/”且带有斜杠时才有效。我对 JS 语法不是很熟悉,所以不知道如何更正。我尝试了不同的变体,添加了一个条件语句,但斜线似乎破坏了代码。

$(function() {
    var loc = window.location.href;
  if(/dev/.test(loc)) {
    var visited = 'visited';
    if($.cookies.get(visited) === null){
        $('#career-home').addClass('visited')
        $.cookies.set('visited', 'visited')
        console.log("addClass")
    }else{
        $('#career-home').removeClass('visited')
        console.log("removeClass")
    }
  }
  console.log(window.location.pathname);
});

【问题讨论】:

  • “似乎在破坏代码”——定义“破坏”。但请不要只用“行不通”之类的方式来解释
  • 你试过了吗:if("domain/dev/"+loc == 'something') {
  • “打破”是指当我使用 example.com/dev/ 进行测试时,条件返回 true。但是当我测试 example.com/dev 时,条件返回 false。不完全确定“返回”是否是在这里使用的正确词,但希望这有助于澄清。谢谢。

标签: jquery url conditional


【解决方案1】:

我能够使用此代码实现我所需要的(检查 cookie 是否存在,如果存在,则添加几个类,如果不存在,则添加一个类)

$(document).ready(function() {
    var pathArray = window.location.pathname.split( '/' );
    var cookieName = pathArray[2];
    var loc = window.location.pathname;
    if($.cookies.get(cookieName) === null) {
        $.cookies.set(cookieName, 'visited');
        $('#' + cookieName).addClass('current');
        setTimeout(function(){
            $('#' + cookieName).addClass('visited')
            console.log("addClass 'visited' to #" + cookieName)
        },5000);
        console.log("Set cookie = " + cookieName)
        console.log("addClass 'current' to #" + cookieName)
    } else {
        console.log(cookieName + " cookie value = " + $.cookies.get(cookieName))        
    }
    if(/dev/.test(loc)) {
        $('#' + cookieName).addClass('current');
    }       
});

【讨论】:

    【解决方案2】:

    这可能是一个 hack,但它应该可以工作

    var loc = window.location.href;
        if(loc.substring(loc.length-1,loc.length) == '/'){
           loc = loc.substring(0,loc.length-1);}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 2021-09-07
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-17
      相关资源
      最近更新 更多