该window.location.search
属性返回?
符号后面的 URL 部分,包括?
符号。
因此,例如它可能会返回?paramname=paramvalue
. 当您调用substring(1)
它时,您会paramname=paramvalue
得到传递给document.getElementById
函数的内容,这显然是错误的,因为您的 DOM 上不存在此类元素。
您可以使用following javascript function
来读取查询字符串参数值:
function onLoad() {
var divname = getParameterByName('divname');
document.getElementById(divname).style.display = 'block';
}
这假设您有一个名为的查询字符串参数名称divname
:
?divname=some_div_name
getParameterByName
如果查询字符串参数的调用方式不同,请调整传递给函数的参数。
您可能还想在代码中引入错误检查以使其更加健壮:
function onLoad() {
var divname = getParameterByName('divname');
var divElement = document.getElementById(divname);
if (divElement != null) {
divElement.style.display = 'block';
} else {
alert('Unable to find an element with name = ' + divname);
}
}