javascript - JQuery insertBefore() 不起作用

标签 javascript jquery html wordpress

我有一个使用滑动导航栏制作的 WordPress 网站。关闭时仅显示图标。不幸的是,由于 WordPress 动态执行菜单,所以我无法对图标进行硬编码。所以我的解决方案是使用 JQuery 并使用 insertBefore 函数在链接标记之前插入一段 html 代码。我编写了代码并上传了它,但没有任何反应。控制台也没有输出错误,所以我完全确定出了什么问题。

main.js

(function ($) {
    $(document).ready(function () {
        $(document).keydown(function (e) {
            $("<i class='fa fa-comment fa-lg'></i>").insertBefore($('<a href="http://richmun.com/sample-page/">Conference</a>'));
            console.log("Inserted!")
            $("<i class='fa fa-question-circle fa-lg'>").insertBefore($(".about"));
            $("<i class='fa fa-users fa-lg'></i>").insertBefore($(".staff"));
            $("<i class='fa fa-globe fa-lg'></i>").insertBefore($(".committees"));
            $("<i class='fa fa-envelope fa-lg'></i>").insertBefore($(".contact"));
        });
    });
})(jQuery);

Link to the website.

最佳答案

为什么需要将其绑定(bind)到“keydown”事件?

您是否尝试过不使用它,就像:

(function ($) {
    $(document).ready(function () {
        $("<i class='fa fa-comment fa-lg'></i>").insertBefore($('<a href="http://richmun.com/sample-page/">Conference</a>'));
        console.log("Inserted!")
        $("<i class='fa fa-question-circle fa-lg'>").insertBefore($(".about"));
        $("<i class='fa fa-users fa-lg'></i>").insertBefore($(".staff"));
        $("<i class='fa fa-globe fa-lg'></i>").insertBefore($(".committees"));
        $("<i class='fa fa-envelope fa-lg'></i>").insertBefore($(".contact"));
    });
})(jQuery);

关于javascript - JQuery insertBefore() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25108632/

相关文章:

javascript - 录音机未将控制权返回给phonegap应用

javascript - 参数在第一个单词后被切片 | Discord.js

javascript - PHP 的服务器发送事件无法正确显示数据

jquery - 为什么 ClientID 不显示?怎么修

javascript - Ajax 将 div 替换为另一个 div(新 css)

html - 在 div 内居中 div

javascript - 手动更新 Web Worker 消息

javascript - AngularJS:当复选框状态(作为过滤器)被代码更改时更新 ng-repeat

javascript - 使用jQuery validate()进行Groovy <g:form>验证

javascript - Disqus 的 iframe 如何根据其中的内容自行调整大小?