【问题标题】:Sublime Text 3 - jQuery highlighted errorSublime Text 3 - jQuery 突出显示错误
【发布时间】:2018-05-10 22:12:50
【问题描述】:

我正在自学 jQuery,以便在工作 SharePoint 环境中保持灵活性。我已将此文件添加到 SharePoint 中的正确位置(一切似乎都正常),但我仍然在 Sublime Text 3 中显示一些奇怪的突出显示。

附上ST3中的代码图片:

我在源 #2 上的语法是否正确?我真的不想错过任何东西,虽然这是相当少量的代码(请原谅我在帖子中的语法,因为我仍然掌握它的窍门)

<script src = "https://mysite/teams/spe/Style%20Library/tts/jquery-3.3.1.min.js"></script> 

<script src = "https://mysite/teams/spe/Style%20Library/tts/sputility.js" > < /script>

  
  <script>
  // wait for the window to load
  $(document).ready(function() {
    // Get a single select dropdown field
    var ticketType = SPUtility.GetSPField('Ticket Type');

    // create a function to show or hide Priority based on Project's value
    var showOrHideField = function() {
      var ticketTypeValue = ticketType.GetValue();
      // Hide the Priority field if the selected
    }
    value is Project
    if (ticketTypeValue === 'Project') {
      SPUtility.HideSPField('Priority');
    } else {
      SPUtility.ShowSPField('Priority');
    };

    // run at startup (for edit form)
    showOrHideField();

    // make sure if the user changes the value we handle it
    $(ticketType.Dropdown).on('change', showOrHideField);

    //hide Category field from NewForm
    SPUtility.HideSPField('Category')

    //hide issue status field from NewForm
    SPUtility.HideSPField('Issue Status')

    //hide comments field from NewForm
    SPUtility.HideSPField('Comments')
  });

</script>

【问题讨论】:

    标签: javascript jquery syntax sublimetext3


    【解决方案1】:

    假设您正在谈论粉红色语法突出显示,line 1line 2 中的脚本 URL 有一个文字空间,并且由于 URL 不能有文字空间,它被转换为它的 ASCII 代码,即%20 .

    只需将%20 替换为+,它应该会删除语法错误突出显示。

    由于 URL 通常包含 ASCII 集之外的字符,因此 URL 具有 转换为有效的 ASCII 格式。 URL编码替换 带有“%”后跟两个十六进制数字的不安全 ASCII 字符。 URL 不能包含空格。 URL 编码通常会替换一个空格 带有加号 (+) 或带有 %20。

    通过 - URL Encode


    如果您可以访问网站的文件和文件夹,我建议您检查文件夹 Style%20Library 的文件夹名称是否为 Style Library,如果是,请将其重命名为 StyleLibrary 并删除%20 来自您的脚本网址。

    更新:

    假设您正在谈论 script 标记语法颜色突出显示,那么如果您将 Sublime Text 3 的语法突出显示设置更改为 HTML,那么奇怪的突出显示就会消失.

    这显然在 js 中看起来很奇怪,因为 js 文件不应该有 &lt;script&lt;/script&gt; 标记,也不应该首先在第 1 行和第 2 行中包含脚本链接,您应该将它们从 js 文件中删除。


    tldr: 如果这是一个 html 文件,则在 View > Syntax > HTML 中将语法高亮设置更改为 HTML,如果这是一个 html 文件,则删除脚本标签和脚本链接JS 文件。此外,如果您确实必须在文件夹名称中区分单词,请避免在文件夹名称中使用文字空格并使用驼峰写法。

    【讨论】:

    • 高亮问题似乎从第一个&lt;/script&gt;开始。注意&gt; 不是红色的。
    • 为什么在第二个 URL 中突出显示 %20Library 而不是第一个?
    • @Barmar 答案已更新。关于%20,我认为由于 Sublime 的语法将此文件检测为 js 文件(我推测),因此亮点认为链接是字符串或其他东西,因为它包含在引号中,但我上面提到的关于将 %20 更改为+ 或完全删除文字空间是编写 url 链接或文件夹名称的好习惯。如果 url 中的单词之间有必要区分,则应使用驼峰写法。
    • tldr 也添加到了答案中。
    【解决方案2】:

    你也有无效的 javascript,看起来你打算这样做

    var showOrHideField = function() {
      var ticketTypeValue = ticketType.GetValue();
      // Hide the Priority field if the selected value is Project
      if (ticketTypeValue === 'Project') {
          SPUtility.HideSPField('Priority');
      } else {
          SPUtility.ShowSPField('Priority');
      }
    }
    

    【讨论】:

    • 虽然这是真的,但我认为这不是他要问的问题
    猜你喜欢
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多