我想在我的索引文件中隐藏一个锚点,并使用.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>
答案 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