我编写了以下函数,并将其放在我的wordpress网站标题中的脚本标记之间。
function turnShopBlue(){
var location = window.location.href;
if(location === "MY URL GOES HERE"){
var menuItem = document.getElementById("menu-item-3352");
menuItem.classList.add("current-menu-item");
//document.querySelector("#menu-item-3352").addClass("current-menu-item");
}
}
turnShopBlue();
但由于某种原因,该功能无法运行。 每次我选择我在#34; MY URL GOES HERE"中选择的URL(页面)时,类current- menu-item都不会被添加。我错过了什么?
我已经尝试过三重===和双重==,但没有成功。
编辑解决方案:
我的错误是我将脚本放在标题中,这里的问题是脚本然后在渲染整个DOM之前运行。所以我实例化的很多变量都没有好的价值。 通过在标题中加载脚本来解决问题;
另外,我必须将它放在jQuery document ready函数中以在页面加载时自动加载它。
答案 0 :(得分:2)
始终将您的Javascript代码放在---
output:
pdf_document:
fig_caption: false
logo: logo.png
institute: UNIVERSITY OF CALIFORNIA
name: Prof. Jones
address: Mathematics Search Committee
Department of Mathematics
University of California
Berkeley, California 12345
email: pj@uc.ac
latex_engine: pdflatex
fontfamily: mathpazo
fontsize: 11pt
# spacing: double
endnote: no
---
标记的末尾(页脚)。这样,在执行任何Javascript之前,您的所有HTML都将被解析,此外,您的外部脚本也必须放在那里以提高页面的加载性能。
body