【问题标题】:Why can't I use document in Brackets?为什么我不能在括号中使用文档?
【发布时间】:2019-01-15 08:41:19
【问题描述】:

我正在使用 Brackets IDE 并尝试了基本的 JS。使用对象文档会让我看到一个错误,说

"错误:'文档'未定义。[no-undef]",

我不知道为什么会发生这个错误,因为它在 Dreamweaver 中完美运行,有谁知道为什么会在 Brackets 中发生这种情况?谢谢你。

HTML:

<!DOCTYPE HTML>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
        <title>Parrafos</title>
    </head>

    <body>
        <p>a</p>
        <p>aa</p>
        <p id="special">especial</p>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
        <script type="javascript" src="parrafos.js"></script>
    </body>
</html>

JS:

function parrafo(texto, id) {
    document.getElementById(id).textContent = texto;
}

parrafo("Hola qué tal", "especial");

【问题讨论】:

  • 加载两个不同版本的jQuery真的没有意义。一个只是要覆盖另一个。
  • type="javascript" — 这不是 type 属性的有效值……而且 HTML 规范说您应该完全忽略传统 JavaScript 的 type 属性。
  • 我不知道您为什么会收到该错误,但我注意到您的 HTML 中没有“特殊”ID。将其更改为特殊的。

标签: javascript document adobe-brackets


【解决方案1】:

document 不是 JavaScript 的一部分,它是浏览器 DOM 的一部分。

无论您配置了用于测试代码的括号(例如 JSHint、JSLint、ESLint),尚未配置为假设存在通过 HTML 中的脚本元素运行代码时存在的全局变量文件。

请查阅您使用的 linter 的文档以了解如何执行此操作(可能是项目目录根目录中的配置文件或 JS 文件顶部的特殊格式注释)。

【讨论】:

    【解决方案2】:

    "ERROR: 'document' is not defined. [no-undef]" 表示应在代码状态的顶部声明每个变量:var document; 或禁用 lint 检查 [no-undef]

    更新

    在 cmets 之后,如果你想选择第一个选项,你可以写: var document = window.document; 隐藏信息并明确

    【讨论】:

    • 我没有投反对票,但任何为浏览器编写过 javascript 的人都知道document 是什么。你只在 node.js 中工作过吗?看到一个没有为浏览器编写代码的 javascript 程序员让我感到惊讶。
    • @slebetman 今天的 JavaScript 世界需要清晰,即使是每个人都知道的事情。
    • 重新声明一个已经声明过的变量不是clear
    • @dotnetandsqldevelop — var document; document.getElementById… 不清楚。它使它看起来像 documentundefined 所以你不能调用它的方法。例如,与实际配置 linter 不同,例如 /* global document */
    • @kobe 你不能声明document 有时在简单的测试代码中可能没问题,但它有问题。例如,如果你的代码被 browserify 或 webpack 或 YUI 编译器使用,并且被包装在一个声明 var document 的 IIFE 中,那么你的代码就会停止工作,因为它不再指向文档对象而是一个局部变量。跨度>
    猜你喜欢
    • 1970-01-01
    • 2017-06-19
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多