【问题标题】:Why isn't this very simple JQuery working? [duplicate]为什么这个非常简单的 JQuery 不起作用? [复制]
【发布时间】:2014-01-31 19:09:32
【问题描述】:

我试图将页面宽度作为变量传递给 asp.net 后面的 C# 代码,但只接收空字符串。我缩小到 JQuery 函数根本没有触发的问题。我将其更改为最简单的代码,以测试该函数是否正在执行任何操作:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
    $(document).ready(function() 
    {
           alert("hello");
    });
</script>

然而,它仍然什么都不做。

  1. 我已经包含了 JQuery
  2. 我已经检查了三次语法
  3. 控制台没有报错
  4. 我查看了其他类似的 SO 'facepalm' 问题,但他们的解决方案都不起作用(见上文)

我错过了什么非常明显的事情?

【问题讨论】:

标签: c# javascript jquery asp.net


【解决方案1】:

您不能同时设置[src] 属性并包含&lt;script&gt; 元素的内容。

如果需要两个脚本,则需要使用两个单独的&lt;script&gt; 元素。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
    jQuery(function($) {
        alert("hello");
    });
</script>

根据HTML5 spec on the &lt;script&gt; element

如果没有src属性,取决于type属性的值,但必须符合脚本内容限制。
如果有 src 属性,则该元素必须为空或仅包含也符合脚本内容限制的脚本文档。

【讨论】:

  • 是的,这里是掌纹。谢谢!
【解决方案2】:

应该是

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

<script type="text/javascript">
    $(document).ready(function() 
    {
           alert("hello");
    });
</script>

这里有一篇文章清楚地解释了这一点-

What if script tag has both "src" and inline script?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 2011-10-25
    • 2012-06-25
    相关资源
    最近更新 更多