如何在具有动态ID的页面上隐藏特定的span类?

时间:2015-02-11 17:47:31

标签: javascript jquery

我试图隐藏一个名为"详细信息"在所有单个活动页面上,但不在我的主要活动页面上。

主要活动页面为demosite.com/events/ 单个事件页面为demosite.com/events/?event_id=2

我已经尝试过使用css伪类,但却无法使用它。我正在尝试使用javascript,但它没有工作 - 因为它隐藏了"详细信息"两页都有课。

这是我迄今为止所尝试过的。

$(function(){
  var url = document.location.href;

  if (url.toLowerCase().indexOf('http://demosite.com/events/') >= 0) {
    $('.details').hide();
  } else {
    $('.details').show();
  }
});

2 个答案:

答案 0 :(得分:1)

您需要做的是查看是否有参数传递给网址,然后根据该参数隐藏。所以这里有一个javascript函数来获取参数并检查它:

<script>
 $(document).ready(function() {
    var eventid = getParamterByName('event_id');
    if ( eventid != "" ) {
       $('.details').hide();
    }
    else {
      $('.details').show();
    }

});

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}


</script>

答案 1 :(得分:1)

所有页面都包含demosite.com/events - 您正在寻找不具有event_id s的网页。

if (document.location.search.indexOf('event_id=') >= 0))
  $('.details').hide();
} else {
  $('.details').show();
}