【问题标题】:extract multiple parameters from a string & do something [duplicate]从字符串中提取多个参数并做一些事情[重复]
【发布时间】:2014-06-26 04:38:50
【问题描述】:

我正在尝试从一个字符串中提取多个“参数”并为每个参数做一些事情

例如如果检测到myParam1=xxx,或myParam2=yyy等。

在这段代码中只能检测到一个参数,但我需要多个参数:

function GetParameter(PPParam) {
    var input1 = document.getElementById('input1');
    var XXX = input1.value;

    var ZZZ = XXX.split('&');
    for (var i = 0; i < ZZZ.length; i++) {
        var sParameterName = ZZZ[i].split('=');
        if (sParameterName[0] == PPParam) {

            alert(sParameterName[1]);

            return sParameterName[1];
        }
    }
}

http://jsfiddle.net/Qmu5L/1/

注意:我需要将所有参数控制一个唯一的元素,

例如设置&lt;div&gt; 的样式(width=100color=red 等)


escaped URL parameters statements if else switch

【问题讨论】:

  • 我在另一个地方发现了这个,我只是想了解如何修改它,但对我来说有点难......你能举个小例子吗?

标签: javascript


【解决方案1】:

给你——我已经根据 Stratus3D 的建议更新了你的 Fiddle http://jsfiddle.net/Qmu5L/3/。它将生成所有参数及其值的哈希。

如果你想开始应用样式和搞乱 CSS,我建议你看看 jQuery——它会容易得多。

function getParameters() {
  var searchString = document.getElementById('input1').value,
      params = searchString.split("&"),
      hash = {};

  if (searchString == "") return {};
  for (var i = 0; i < params.length; i++) {
    var val = params[i].split("=");
    hash[unescape(val[0])] = unescape(val[1]);
  }
  console.log(hash);
  return hash;
}

获得哈希后,您可以通过 JQuery $.each 函数简单地运行它来设置 DIV 的样式。

【讨论】:

  • @user3602937 如果此答案解决了您的原始问题,请将其标记为已接受。如果您现在还有其他问题,请搜索 stackoverflow 并查看您的问题是否已经得到解答。如果不是,请提出一个单独的问题。
  • 好的,我该如何开始新问题:使用转义的 URL 参数设置 div 样式?
【解决方案2】:

此答案中定义的函数的修改版本将起作用:

Get escaped URL parameter

您只需要删除 unescape 调用并将对 window.location.search.substring 的引用替换为您要处理的字符串参数。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-17
  • 2014-12-29
  • 2019-05-21
  • 1970-01-01
  • 2018-12-14
  • 2019-11-20
  • 2021-01-13
相关资源
最近更新 更多