获取查询字符串
var queryString = window.location.search;
删除?从查询字符串的开头
queryString = queryString.substring(1);
查询字符串处理器
var parseQueryString = function( queryString ) {
var params = {}, queries, temp, i, l;
// Split into key/value pairs
queries = queryString.split("&");
// Convert the array of strings into an object
for ( i = 0, l = queries.length; i < l; i++ ) {
temp = queries[i].split('=');
params[temp[0]] = temp[1];
}
return params;
};
//查询字符串对象
var pageParams = parseQueryString(queryString);
// CSS变量
var target = pageParams.target;
var prop = pageParams.prop;
var value = pageParams.value;
//无法开始工作 - &gt;
jQuery(target).css({
prop : value,
});
我希望能够提供像这样的查询“?target = body&amp; prop = display&amp; value = none”并使整个身体消失或按类别定位某些元素。
答案 0 :(得分:2)
您将无法使用prop
作为传递给.css()
的对象的键变量。在这种情况下,它将转换为文字字符串'prop'
。相反,你必须做类似的事情:
jQuery(target).css(prop,value);
注意:请注意该哈希中的尾随逗号(在value
之后)。有些浏览器会在此时出错。
答案 1 :(得分:0)
为了创建一个可以传递给jQuery的css对象,我建议像这样:
// Create css obj
var cssObj = {};
cssObj[prop] = value;
在此之后,代码对我来说很好。请参阅此处的完整解决方案:
我建议使用正则表达式删除问号 - 请参阅下面的评论。