我在一个小型网站上工作,我想根据 URL 中传递的变量切换选项卡。这是我目前编写的逻辑。
var hash = window.location.href.split("#");
var count = hash.length;
if(count > 0){
var blockid = hash[1];
document.getElementById(hash[1]).css("display","block");
//document.getElementById("showthisdiv").css("display","block"); - this works
document.getElementById("broken_href").innerHTML = blockid;
}
<div class="broken_href"> </div>
hash[1] 是我要更改其样式的 div 的名称。如果我更改 hash[1] 并在 GetElementById 中写入 div 的名称,它就可以正常工作。 同样只是为了测试,我创建了一个虚拟 div 来查看 blockid 持有什么值。它正在正确传递值。
用于测试的 URL 类似于:
http://localhost/test/#showthisdiv
我需要做什么来解决这个问题?
最佳答案
这一行是你的问题
document.getElementById(hash[1]).css("display","block");
此 .css 方法是一种 jQuery 方法,在基本 Javascript 中不可用。
你可以使用:
document.getElementById(hash[1]).style.display = "block";
或者包含 jQuery 并使用:
$("#"+hash[1]).css("display","block");
关于javascript - 将 JS 变量传递给 getElementById,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21165161/