javascript - 即使我引用了 lib,$ 也未定义

标签 javascript jquery

我使用以下方法引用了 JQuery 库:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js" type="text/javascript"></script> 

我什至尝试下载该库并将其放在本地项目中。但我仍然收到 JS 错误,提示:ReferenceError: $ is not Defined

它向我指出了这行代码:

$("#navn").val() = localStorage.getItem("navn");

奇怪的是,在 storeInfo() 函数中,它没有提示,并且它应该在那里工作。

怎么突然说没有引用JQuery?

var navn = null;
var adr = null;
var city = null;

function storeInfo() {
    navn = $("#navn").val();
    alert("Works");
    localStorage.setItem("navn", navn);
}

if (typeof (Storage) !== "undefined") {

    if (localStorage.getItem("navn") !== "undefined" || localStorage.getItem("navn") !== null) {
        alert(localStorage.navn);
        $("#navn").val() = localStorage.getItem("navn");  <------ Problem is here
    }

} else {
    alert("Local storage ikke understøttet af din browser");
}

最佳答案

val 既是 getter 又是 setter。当您执行 val() 时,它会返回一个值。您不能将函数的结果分配给某些东西,因此会出现错误。你想要:

$("#navn").val(localStorage.getItem("navn"))

此外,正如 Barmar 指出的那样,检查 jQuery 是否已正确加载,并使用 dom 就绪事件:

$(function(){
  // code here
})

关于javascript - 即使我引用了 lib,$ 也未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25816900/

相关文章:

javascript - 检测到多 div 叠加的碰撞

javascript - 是否可以使用 eval 执行函数?

javascript - jQuery UI 拖动 div 不起作用

Javascript 新行 - document.write 结尾

jquery - 在 .when() 中使用延迟对象时,如何使用 .when().then() 触发函数?

jquery验证动态添加所需的输入

javascript - FlowJS : How to use union types and boolean literals

javascript - 替换ckeditor内容并添加undo history entry

javascript - 独立的 jQuery "touch"方法?

javascript - 如何使用highcharts在页面初始化时只显示五个点的数据?