我试图提取多个"参数"从一个字符串和每个参数做一些事
e.g。如果它检测到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];
}
}
}
注意:我需要所有参数来控制一个独特的元素,
例如为<div>
(width=100
,color=red
等设置样式。)
答案 0 :(得分:1)
在这里 - 我根据Stratus3D的建议更新了您的小提琴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设置样式。
答案 1 :(得分:0)
本答案中定义的函数的修改版本可以使用:
您只需要删除unescape调用,并将window.location.search.substring
的引用替换为您要处理的字符串参数。