为什么这个非常简单的JQuery不起作用?

时间:2014-01-31 19:09:33

标签: c# javascript jquery asp.net

我试图将页面的宽度作为变量传递给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'问题,但没有一个解决方案有效(见上文)
  5. 我错过了什么令人难以置信的事情?

2 个答案:

答案 0 :(得分:9)

您无法同时设置[src]属性并包含<script>元素的内容。

如果您需要两个脚本,则需要使用两个单独的<script>元素。

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

根据HTML5 spec on the <script> element

  

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

答案 1 :(得分:3)

应该是

<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?