Javascript 在wordpress中单击菜单链接设置cookie

Javascript 在wordpress中单击菜单链接设置cookie,javascript,wordpress,cookies,Javascript,Wordpress,Cookies,我需要在单击特定菜单链接时注册cookie。我使用此cookie将移动用户从网站的移动版本重定向到桌面版本。 在非WP站点中,我只使用onclick属性来实现这一点,如本例所示: <script> function setupCookie() { document.cookie = "desktop=true;domain=.mysite.com"; } </script> <a href="mysite.com" onclick="setupCo

我需要在单击特定菜单链接时注册cookie。我使用此cookie将移动用户从网站的移动版本重定向到桌面版本。 在非WP站点中,我只使用onclick属性来实现这一点,如本例所示:

<script>
function setupCookie() {
    document.cookie = "desktop=true;domain=.mysite.com";
}
</script>

    <a href="mysite.com" onclick="setupCookie();"> Desktop version </a>
我试过这样的方法:

function setupCookie() {
        document.cookie = "desktop=true;domain=.mysite.com";
    }
    element.addEventListener("click", setupCookie(),false);
    var element = document.getElementsByClassname("desktop-redirect")[0].getElementsByTagName("a")[0];
但是它不起作用,桌面重定向类是该li元素所独有的

提前感谢。

试试这个:

function setupCookie() {
    document.cookie = "desktop=true;domain=.mysite.com";
}
document.getElementsByClassName("desktop-redirect")[0].getElementsByTagName("a")[0].addEventListener("click", setupCookie);

请注意,您的getElementsByClassName没有将名称中的N大写。。。不确定这是你的代码还是打字错误,但这是一个问题。另外,您在函数调用中省略了。

您的element.addEventListener不应该在声明变量之后出现吗?我使用了另一个问题作为参考,他们使用了该顺序,但是即使我在element.addEventListener之前定义了element var,它仍然不起作用不幸的是,查看控制台,我看到以下错误类型error:document.GetElementsByCassName…[0]未定义如果未定义,则找不到任何具有所述类名的元素。尝试将变量设置为包含document.getElementsByClassNamedesktop-redirect,然后将其推送到控制台以查看结果。听起来这个错误与在页面上查找实际元素有关!
function setupCookie() {
    document.cookie = "desktop=true;domain=.mysite.com";
}
document.getElementsByClassName("desktop-redirect")[0].getElementsByTagName("a")[0].addEventListener("click", setupCookie);