为什么我不能在我的wordpress网站上运行任何jQuery?

时间:2016-05-17 06:24:36

标签: jquery html css wordpress

免责声明:我是jQuery的新手。

我尝试了什么: 在Magnum WP主题中,有多个js文件排队。我已经将jQuery代码添加到custom.js,它确实是开箱即用的正确链接(因为功能显然已经用完了)。我还尝试在头部添加<script>标签,最后直接粘贴代码(在调用jQuery库之后)。主题使用jQuery,因此lib绝对是链接的。我已经尝试了很多不同的代码片段,我无法让它们中的任何一个工作。例如。我一直在努力让这一个运行

jQuery(window).scroll(function() {

    var position = $(this).scrollTop();

    jQuery('.section').each(function() {
        var target = $(this).offset().top;
        var id = $(this).attr('id');

        if (position >= target) {
            jQuery('.menu-wrap > ul > li > a').removeClass('yes');
            jQuery('.menu-wrap > ul > li > a[href=#' + id + ']').addClass('yes');
        }
    });
});

我也试过jQuery替换为$(不确定哪个语义正确)。

我可以确认链接的html元素存在。我的样式表中使用规则.yes引用了background: red;,我可以确认它是有效的。

我完全不知道为什么这个代码或任何其他jquery函数不会加载。

Chrome控制台中没有相关错误。

1 个答案:

答案 0 :(得分:0)

现在,我可以说,你在兼容模式下使用jQuery。试试这段代码:

jQuery(window).scroll(function() {

    var position = jQuery(this).scrollTop();

    jQuery('.section').each(function() {
        var target = jQuery(this).offset().top;
        var id = jQuery(this).attr('id');

        if (position >= target) {
            jQuery('.menu-wrap > ul > li > a').removeClass('yes');
            jQuery('.menu-wrap > ul > li > a[href*="#' + id + '"]').addClass('yes');
        }
    });
});

或者这个

jQuery(function($){
   $(window).scroll(function() {

    var position = $(this).scrollTop();

    $('.section').each(function() {
        var target = $(this).offset().top;
        var id = $(this).attr('id');

        if (position >= target) {
            $('.menu-wrap > ul > li > a').removeClass('yes');
            $('.menu-wrap > ul > li > a[href*="#' + id + '"]').addClass('yes');
        }
    });
  });

})

您正在使用css选择器,因此a[href=#id]不正确。您应该将字符串传递给值,并且链接不是完全匹配选择器中的id,而只是部分匹配。所以我将其更改为a[href*="#id"]