我正在使用Wordpress网站,我正在构建导航栏。我要添加的功能之一是,如果您在某个页面上,导航栏中的选项将以粗体显示,这是您正在访问的网站的部分。
我正在尝试使用JavaScript实现这一点,因为我没有PHP的工作知识:
var current_page = document.URL;
var current_option_id="";
if(current_page==="some-url"){
current_option_id="menu-item-34";
}
document.getElementById(current_option_id).getElementsByTagName("A")[0].style.fontWeight="bold";
基本上,我的代码会确定我们所在的页面,并将正确的菜单选项ID分配给current_option
变量。然后,脚本将尝试选择
正确的菜单选项,选择该菜单选项中的链接,并更改其样式。
这个脚本的问题是它根本不起作用,生成一个无法选择HTML元素的错误; document.getElementById(current_option);
返回null。 然而,当我在控制台中执行此操作时,它工作正常,并且样式已正确更改。为什么是这样?我知道current_option
变量具有正确的值,但是当脚本尝试选择要更改的元素时脚本失败。
非常感谢任何建议和帮助。如果你知道如何在PHP中使用与Wordpress很好地集成的东西,请分享(并解释你的代码是如何工作的!)。如果我打破了任何StackOverflow规则,我很抱歉。
答案 0 :(得分:1)
#menu-item-34
的元素之前被添加到DOM)?
尝试将脚本包装在函数中,然后将该函数设置为页面的onload处理程序:
window.onload = function() {
/* code goes here */
};