在JSFIDLE中,它可以在纯javascript中工作,但是——当我在代码中包含它时,如果不包含jquery,它就无法工作

bqf10yzr  于 2021-09-13  发布在  Java
关注(0)|答案(2)|浏览(208)

**已关闭。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想要改进此问题?**更新问题,使其位于堆栈溢出主题上。

昨天关门了。
改进这个问题
https://jsfiddle.net/c2o4j8fz/1/ -我从那里得到密码。
我的代码:

const chk = document.getElementById('chk');
const body = document.body;
$(function(){
    chk.addEventListener('change', () => {
        $('.body').toggleClass('dark');
        localStorage.setItem("blockIsActive", $('.body').hasClass('dark'));
    }) 
    var blockIsActive = localStorage.getItem("blockIsActive") 
    if (blockIsActive == "true") {
        $('.body').addClass('dark');
    }
});

我的代码显示,在添加jquery之前,控制台中没有定义$,但在JSFIDLE示例中,它在纯js中工作。我做错了什么?

62lalag4

62lalag41#

如果您查看该fiddle的resources选项卡,它实际上会说它包括jquery:

当心 $ 不是标准的javascript,而是一个jquery函数/api。

xtupzzrd

xtupzzrd2#

如果打开左侧菜单中的resources选项卡,您将看到包含jquery-2.1.4.min.js。因此,必须包含jquery才能使代码正常工作。

相关问题