仅在主页上隐藏 CSS 类

Posted

技术标签:

【中文标题】仅在主页上隐藏 CSS 类【英文标题】:Hide a CSS class only on homepage 【发布时间】:2018-10-28 17:53:31 【问题描述】:

我试图仅在主页上从我的标题中隐藏此类“mediad rh-flex-right-align”。 此类必须出现在每隔一个页面上。

我尝试了 javascript 来实现这一点,但它不起作用,所以我可能在这些行中犯了一个错误:

if (document.url == "https://www.comparer-acheter.fr/")

document.getElementsByClassName("mediad rh-flex-right-align")
[0].style.display = 'none';

欢迎任何建议在主页上隐藏 CSS 类

【问题讨论】:

你为什么不能尝试使用jQuery? 在隐藏它的主页中只包含css或js会更容易。 只需将css作为内部css添加到主页 @Abinthaha 不要成为那个人。 doxdesk.com/img/updates/20091116-so-large.gif 您需要提供明确的问题陈述,“不工作”不是。确切地说,什么不起作用(您的代码中有两个单独的语句,其中一个不符合您的预期)?是否有任何错误信息?如果你添加一个日志语句,你能确认document.url的值是什么吗?这是你所期望的吗?你输入if语句了吗? 【参考方案1】:

document 中没有 url 属性,但有一个 URL

所以您可以使用document.URLwindow.location.href

我过去在使用 document.URL 时遇到过问题,所以更喜欢第二个。

编辑:请注意,如果您的 URL 包含哈希(例如:comparer-acheter.fr/#hash),此解决方案将不起作用。如果您的网站名称更改,它也将不起作用。如果你想检查你是否在主页上,你可以使用这个:

if(window.location.pathname == '/') 
    // you are on the homepage

您将获得有关 locations 如何在此帖子上工作的更多信息:javascript window location href without hash?

【讨论】:

非常感谢!它运行良好。这里是更正的代码: if (window.location.href == "comparer-acheter.fr/") document.getElementsByClassName("rh-flex-right-align") .[0].style.display = 'none'; @Flo 请注意,如果 URL 中有哈希值(例如:“comparer-acheter.fr/#myHash”),这将不起作用。如果只是想查看是否在首页,也可以使用window.location.pathname == '/'。我更新了我的答案以反映这一点。

以上是关于仅在主页上隐藏 CSS 类的主要内容,如果未能解决你的问题,请参考以下文章

CSS 菜单仅在 IE (SWFObject) 中隐藏在 flash 后面

css 仅在视觉上隐藏,但可供屏幕阅读器使用:http://snook.ca/archives/html_and_css/hiding-content-for-accessibility <br

如何在本机反应中隐藏特定屏幕上的底部导航栏?

溢出隐藏在 Firefox 上不起作用

用jquery隐藏CSS类[重复]

仅在 iphone 11 上显示 UI 图像在其他 iphone 版本上隐藏