为什么这个简单的jQuery'addClass'在这个网站上不起作用?

时间:2015-07-15 08:10:07

标签: javascript jquery wordpress lazy-loading

我测试了jQuery addClass:fiddle 这很好。

jQuery在图像中添加了一个名为lazy的类。

现在我想在wordpress网站上做同样的事情。 所以我在functions.php

中添加了以下代码
function smart_magazine_scripts_styles() { 
        wp_enqueue_script('lazyloadscriot', get_template_directory_uri() . '/js/jquery.lazyload-any.min.js', array(), '1.0', true);
        wp_enqueue_script('custom-by', get_template_directory_uri() . '/js/custom-by.js', array(), '1.0', true);
    }

当我看到网站源代码时,我看到lazyload-any.min.jscustom-by.js都已正常加载。

custom-by.js仅限以下行:

jQuery('img').addClass('lazy');

但是当我检查图像时,没有添加名为lazy的类。

为什么? 这是site

3 个答案:

答案 0 :(得分:2)

你确定你的文件准备好了吗?请尝试以下方法:

jQuery(document).ready(function() {
     jQuery('img').addClass('lazy');
});

答案 1 :(得分:1)

你试过这个吗

$(function()
{
    $('img').addClass('lazy');
});

如果您尝试使用类img定位元素,则需要使用.img,或者如果您尝试使用id img定位元素,则需要使用#im

要从Google加载jQuery,只需将此行放入HTML文件

即可
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

答案 2 :(得分:1)

当你的函数被执行时,jQuery可能还没有被加载。 首先,尝试将JavaScript放在$(function()中,如下所示:

jQuery(function(){
  jQuery('img').addClass('lazy');
});

当然,如果您等待DOM准备就绪,然后将类延迟添加到您的图像,那就没有意义了。最好的方法是在静态模板中添加类或使用PHP。