满足特定 URL 参数时显示 <div>

如何解决满足特定 URL 参数时显示 <div>

我在 Google 表格中有一个表单,它将 URL 参数传递给一个页面,然后该页面应该根据 URL 参数显示内容

因此,如果一个人在 Google Sheet 中检查“item 1”和“item 2”,参数会按如下方式传递:

https://my-url.com/?item1=value1&item2=value2

现在有几个 div 容器,使用 css 设置为 display:none。当满足 URL 参数时,隐藏的 div 容器应该显示出来。所以html是:

<div class="hidden" id="value1">This content should show,when the URL parameter value 1 is passed</div>
<div class="hidden" id="value2">This content should show,when the URL parameter value 2 is passed</div>

我在网上找到了一些代码,它几乎可以做到这一点,但它一次只能显示一个 div:https://jennamolby.com/how-to-display-dynamic-content-on-a-page-using-url-parameters/

我的问题是,对于每个传递的参数,必须显示一个字段。

谁能帮我解决这个问题?无论如何,我真的不是 js 专家。

解决方法

你可以这样做:

$.each(getUrlVars(),function(i,x) {
  $('#' + x).show();
})

function getUrlVars() {
  var vars = {},hash;
  var hashes = url.slice(url.indexOf('?') + 1).split('&');
  for (var i = 0; i < hashes.length; i++) {
    hash = hashes[i].split('=');
    //vars.push(hash[0]);
    vars[hash[0]] = hash[1];
  }
  return vars;
}

getUrlVars 取自此 answer,并稍作修改。

演示

var url = "https://my-url.com/?item1=value1&item2=value2"; //replace with window.location.href
$.each(getUrlVars(),x) {
  $('#' + x).show();
})



function getUrlVars() {
  var vars = {},hash;
  var hashes = url.slice(url.indexOf('?') + 1).split('&');
  for (var i = 0; i < hashes.length; i++) {
    hash = hashes[i].split('=');
    //vars.push(hash[0]);
    vars[hash[0]] = hash[1];
  }
  return vars;
}
.hidden {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="hidden" id="value1">This content should show,when the URL parameter value 1 is passed</div>
<div class="hidden" id="value2">This content should show,when the URL parameter value 2 is passed</div>

,

祝你好运

function getParameterByName(name,url = window.location.href) {
    name = name.replace(/[\[\]]/g,'\\$&');
    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g,' '));
}

var item1 = getParameterByName('item1');
var item2 = getParameterByName('item2');

if (item1 == "value1")
{
  document.getElementById("value1").style.display = "block";
}
if (item2 == "value2")
{
  document.getElementById("value2").style.display = "block";
}
.hidden
{
  display: none;
}
<div class="hidden" id="value1">This content should show,when the URL parameter value 2 is passed</div>

,

试试这个

var getUrlParameter = function getUrlParameter(sParam) {
    var sPageURL = window.location.search.substring(1),sURLVariables = sPageURL.split('&'),sParameterName,i;

    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');

        if (sParameterName[0] === sParam) {
            return typeof sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
        }
    }
    return false;
};
let item1 = getUrlParameter('item1');
let item2 = getUrlParameter('item2');
if(item1 =='value1' &&item2 =='value2')
{
 document.getElementById('showhide').style.display = 'block';   
}
  
<div id="showhide" style="display: none">

hi hi
</div>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?