根据网址或ID加载div

时间:2019-05-23 10:48:04

标签: javascript

我希望某个功能div container-new仅在某些页面上加载。我的理论是在加载时运行if语句,以说明页面url是否等于/A2017.html/A2018.html/A2017.html加载<div id="conrainer_new"></div>,否则不加载。 这是可以用JS或jQuery实现的。

我已经尝试过了,但是div仍然在所有URL上加载。我肯定对此有更好更好的解决方案。我还需要能够在规则中包含多个网址。

if (window.location.search..search(/A2017.html)) 
  document.getElementById('conrainer_new').display = 'block'

2 个答案:

答案 0 :(得分:0)

您可以尝试类似的方法,但是可以使用indexOf。如果找到页面名称的字符串,indexOf将返回位置而不是-1,因此条件为true。

if (window.location.href.indexOf('/A2017.html') != -1) {
    document.getElementById('container_new').display = 'block'
}

答案 1 :(得分:0)

由于要在URL中检查多个值,因此可以使用正则表达式:

if (window.location.match(/\/A2017.html|\/A2018.html/i)
  document.getElementById('conrainer_new').display = 'block'

还请注意,如果URL上永远没有查询字符串,则可以将$添加到正则表达式中,以确保匹配项仅位于URL字符串的末尾,例如/\/A2017.html$|\/A2018.html$/i