javascript - 将 JS 变量传递给 getElementById

标签 javascript jquery html css

我在一个小型网站上工作,我想根据 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/

相关文章:

javascript - ng-repeat 不显示最后一段文字

javascript - 如果输入文本然后删除,则文本框不会验证为空

php - 更改 CSS onclick 函数 javascript

javascript - Jquery 轮播点击事件项目不会重定向

html - 隐藏输入类型=文件上的浏览按钮

javascript - 如何动态添加文本框而不丢失以前文本框的值?

javascript - ramda 进化函数示例

JavaScript - 增加 contenteditable div 中选择的字体大小

html - 跟进帖子: "...why are there no “justify-items” and “justify-self” properties?“

JavaScript 复制到剪贴板不起作用