仅在索引上隐藏锚点

时间:2014-02-06 17:27:36

标签: jquery html

我想在我的索引文件中隐藏一个锚点,并使用.attr()将其显示在所有内部页面上,但我无法理解。它仍隐藏在我的所有页面上。脚本和html如下。提前谢谢。

$(document).ready(function(){
    if($('a.logo').attr('href') == 'index.php') {
        $('.logo').hide();
    }
});
<div class="page-header large-3 small-12 columns">
    <a href="index.php" class="logo svg-shadow"></a>
</div>

2 个答案:

答案 0 :(得分:3)

您正在测试该链接是否链接到索引页面,而不是您 索引页面。

可能你想要:

$(document).ready(function(){
    if(location.pathname === "/" || location.pathname === "/index.php") {
        $('.logo').hide();
    }
});

答案 1 :(得分:-1)

您使用的是vanilla PHP还是使用框架?如果您希望链接不显示在索引上并显示在所有后续页面上,我会将其放在部分代码段中,该部分代码段将在您要显示链接的每个页面上呈现。如果它是一个标题项,我会将它包含在标题中,然后在每个页面上呈现标题。如果没有更多的背景,有点难以找到解决这个问题的最佳方法。

在使用jQuery时,我会执行以下操作

var pathname = $(location).attr('href');

if(pathname == "http://example.com/index.php") {
  // Don't render the link
}
else {
  // Render the link
}

这种方法的问题是你在每个页面上添加一个jQuery检查来检查一个url。这不是最有效的方法。如果您没有使用框架,我只会在您希望链接显示的页面中添加该链接,并将其从其他页面中删除,例如index.php