【问题标题】:Show div based on url根据 url 显示 div
【发布时间】:2013-11-22 02:31:51
【问题描述】:

我一直在尝试找到一个简短易懂的 javascript,它根据 URL 显示一个 div,但我找到的所有脚本似乎都不起作用。

我的页面上有这个 div,css 文件隐藏了这个 div:display:none;

<div id="idofthedivtohide"><span>Success!</span></div>

当我转到 url:contact.php?success 我希望 div 更改为 display:block;

有人可以帮我解决这个问题吗?许多示例使它可以使用大约 4 行代码。

我已经尝试过这段代码,但它似乎不起作用:

<script type="text/javascript">
if (window.location.search.search(success)) document.getElementById("idofthedivtohide").style.display = "block"
</script>

【问题讨论】:

  • 到目前为止,您尝试过哪些 JavaScript?请发布您的尝试。
  • 粘贴 HTML,选择 HTML 代码并按 CTRL+K。

标签: javascript html


【解决方案1】:

这是另一种解决方案,更“人性化”:

HTML

<div id="idofthedivtohide">
  <span>Success!</span>
</div>

JavaScript

<script type="text/javascript">
  // Get URL
  var url = window.location.href;
  // Get DIV
  var msg = document.getElementById('idofthedivtohide');
  // Check if URL contains the keyword
  if( url.search( 'success' ) > 0 ) {
      // Display the message
      msg.style.display = "block";
  }
</script>

【讨论】:

  • 太棒了!但是如何在 URL 中调用成功??
【解决方案2】:
<div id="success"><span>Success!</span></div>

var locSearch = window.location.search.substring(1).split('&')[0];
if(locSearch){
    document.getElementById( locSearch ).style.display = "block";
}

以上将处理

http://example.exm/page.html?success  // success

同

http://example.exm/page.html?success&user=2971024&votes=0 // success

【讨论】:

  • 酷,成功了,谢谢!代码如何在 URL 中找到 ?success?在里面找不到成功这个词吗,魔法?
  • @user2971024 yes ;) (在 MDN 中搜索您不知道的方法:子字符串、拆分等...)和顺便说一句,如果您有,上面可能会抛出错误,例如:?error bot 您的页面中没有任何 #error 元素。所以请注意或添加if() 以检查元素是否存在。
猜你喜欢
  • 2015-12-21
  • 2011-08-11
  • 1970-01-01
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 2014-12-05
  • 1970-01-01
相关资源
最近更新 更多