无法运行JavaScript函数

时间:2018-02-08 22:02:20

标签: javascript

我编写了以下函数,并将其放在我的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函数中以在页面加载时自动加载它。

1 个答案:

答案 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

资源

$(document).ready equivalent without jQuery