开发者

JavaScript: Show / Hide <DIV> based on URL string

开发者 https://www.devze.com 2022-12-10 06:42 出处:网络
I need to show a DIV on two pages (URL\'s) but not on the others. (I have jQuery on the pages if that helps.). I\'m a complete noob so all help is very much appreciate. Thank\'s!

I need to show a DIV on two pages (URL's) but not on the others. (I have jQuery on the pages if that helps.). I'm a complete noob so all help is very much appreciate. Thank's!

Case (1) where I want to show the DIV:

  • On the start page, when the web browser address field reads 'www.mydomin.com'
  • The start page is PHP so I guess the full URL is 'www.mydomin.com/index.php'

Case (2):

  • 'www.mydomin.com/index.php?option=com_myblog&title.html&Itemid=1&lang=en'
  • WHERE this part is alway the same
  • 'www.mydomin.com/index.php?opt开发者_如何学运维ion=com_myblog&'
  • AND this part is always unique
  • 'title.html&Itemid=1&lang=en

Example

    if (url == 'www.mydomin.com' or 'www.mydomin.com/index.php?option=com_myblog&') {

 do this

    xxxxxxxx

 else

        nothing


This should work, if I understand the question correctly

var url = document.location.href;

if (url.indexOf('www.mydomin.com/index.php?option=com_myblog&') >= 0) {
  $('#div_id').hide();
} else {
  $('#div_id').show();
}

But really, if you use PHP anyway, you should figure out how to not render the div in the first place.


You can parse the query string and show/hide the div based on the result.


I also think it should be handled from PHP code instead from JavaScript. And div should not be rendered in first place.


You can target a specific query parameter of the URL using window.location.search. Using the below code, you can find an exact match anddisplay/hide the HTML element:

var firstURLParam = window.location.search.substring(1).split('&')[0];
var datGuiEle = document.getElementById("elemID");
if(firstURLParam == "debug"){
    datGuiEle.style.display = "block";
}
else {
  datGuiEle.style.display = "none";
}
0

精彩评论

暂无评论...
验证码 换一张
取 消