JQuery insertBefore()不起作用

时间:2014-08-03 20:08:36

标签: 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.

2 个答案:

答案 0 :(得分:1)

为什么你需要将它绑定到&#34; keydown&#34;事件

你有没有试过,就像:

(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);

答案 1 :(得分:0)

请尝试删除$(document).keydown(function(e){

}

只有在按任意键后才能创建菜单。

<强> I wonder what jQuery.keydown Does

祝你好运!我希望它有所帮助!

相关问题