该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);
}
}