如果未设置参数,则隐藏div

时间:2018-05-13 23:50:21

标签: javascript html

每当没有设置参数时,我有一些隐藏div的问题。 我当前的网址为https://example.com/player.php?ch=,并且还有一个ID为hideNoParam

的div

我目前的代码如下

if(location.search == "?ch="){
  $('#hideNoParam').hide();
}

但这不符合预期。

我想要做的是,只要网址只有https://example.com/player.phphttps://example.com/player.php?ch=,div hideNoParam不可见,但只要网址为{{1然后它是可见的。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用URL对象尝试以下方式:



var loc = 'https://example.com/player.php?ch=';
var url = new URL(loc);
var c = url.searchParams.get("ch");

if(!c){
 $('#hideNoParam').hide();
}

// with param
var loc2 = 'https://example.com/player.php?ch=hello';
var url2 = new URL(loc2);
var c2 = url2.searchParams.get("ch");
if(!c2){
 $('#hideNoParam2').hide();
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="hideNoParam">Test Container</div>

<div id="hideNoParam2">Test container is shown because the parameter has value</div>
&#13;
&#13;
&#13;