如果未检测到路径名,则在<link />中添加类

时间:2011-06-18 10:05:59

标签: javascript jquery

window.location.pathname NULL

时,我们想在链接的第一个子项上添加一个类

html代码是

  <nav>
    <a href="index.php">Home</a>
    <a href="company.php">Company</a>
    <a href="products.php">Products</a>
    <a href="technical.php">Technical</a>
    <a href="services.php">Services</a>
    <a href="contactus.php">Contact Us</a>
  </nav>

,网址为 www.nicadpower.com / 正在进行

window.location.pathname.substring(1);
除了 NULL 之外,

不会产生任何结果。

检测到NULL后,我们希望 $('nav a')第一个孩子添加 class =“current”

  <nav>
    <a href="index.php" class="current">Home</a>
    <a href="company.php">Company</a>
    <a href="products.php">Products</a>
    <a href="technical.php">Technical</a>
    <a href="services.php">Services</a>
    <a href="contactus.php">Contact Us</a>
  </nav>

2 个答案:

答案 0 :(得分:1)

如果window.location.pathname.substring(1);为您提供null,请使用此代码:

if (window.location.pathname.substring(1) == null){
  $('nav a:first-child').addClass('current');
}

但是...... 我认为它不会给你null,很多 它不会给你null,所以你最好这样做:

if (window.location.pathname.substring(1).length==0){
  $('nav a:first-child').addClass('current');
}

答案 1 :(得分:0)

pathname永远不会null,它始终至少包含/ - 请W3C spec

所以,你只需要检查字符串的长度是否不超过一个:

if (window.location.pathname.length <= 1) {
  $('nav a:first-child').addClass('current');
}