我第一次挖掘jQuery

时间:2010-07-29 13:01:27

标签: javascript jquery

就jQuery而言,我是一个完整的新手。除了一些非常基本的东西之外,我对JavaScript也不太了解。

我在这里关注本教程:http://docs.jquery.com/How_jQuery_Works

没有什么工作! : - )

我在我的机器硬盘上创建了一个文件夹:C:\ rnd \ jQuery

然后,在该文件夹中,我放入了从jQuery网站下载的jquery.x.x.js文件,并创建了一个test.html文件,并在其中编写了以下代码:

<!doctype html>
<html>
  <head>
    <script type="text/javascript" src="jquery-1.4.2.js"></script>

    <style type="text/css">
      a.test { font-weight: bold; }
    </style>

    <script type="text/javascript">
      $.(document).ready(function() {
        $("a").addClass("test");
        $("a").click(function(event) {
          alert("Thanks for visiting.");
          event.preventDefault();
        });
      });
    </script>
  </head>
  <body>
    <a href="http://jquery.com/">jQuery</a>
  </body>
</html>

它只是将我带到jQuery网站的正常行为。我在Chrome,IE和Firefox上运行它。我在浏览器中启用了JavaScript。到处都是一样的。它没有做任何我期望它做的事情。它只是带我到网站。

除了在IE上,它向我显示了说明脚本中发生错误的消息框。当我单击“是”进行调试时,它会打开调试器,但它不会突出显示任何代码行,所以我真的不知道发生了什么。

然后,当我的代码中有以下行时:

$("a").hide("slow");

我的完整代码如下:

<!doctype html>
<html>
  <head>
    <script type="text/javascript" src="jquery-1.4.2.js"></script>

    <style type="text/css">
      a.test { font-weight: bold; }
    </style>

    <script type="text/javascript">
      $.(document).ready(function() {
        $("a").addClass("test");
        $("a").click(function(event) {
          alert("Thanks for visiting.");
          event.preventDefault();
          $("a").hide("slow");
        });
      });
    </script>
  </head>
  <body>
    <a href="http://jquery.com/">jQuery</a>
  </body>
</html>

此时,在Firefox和Chrome中没有任何不同,但在IE中,它再次进入调试器,此时此行以黄色突出显示,并且报告未定义标识符jQuery。 / p>

(function($) {
  $.fn.textDropShadow = function(){
    $(this).html('<span class="jq-shadow">'+$(this).html()+'</span><span>'+$(this).html()+'</span>');
    return $(this);
  }
})(jQuery);

而且,我相信jQuery网站上有一些JavaScript代码。

我感到完全迷失了。任何帮助将不胜感激。

更新 我有完整的HTML,它是有效的XHTML。浏览器显示为HTML响应流太糟糕了,我甚至无法将其显示为脚本。该死的!你如何让HTML出现在这里?

4 个答案:

答案 0 :(得分:16)

我可以看到一个问题。您在文档就绪语句中的.后面有一个$

$.(document).ready(function()
 ^--- remove the .!

它应该是这样的:

$(document).ready(function() 

答案 1 :(得分:4)

首先确保在编写任何jQuery代码(或加载任何插件)之前引用了jQuery库

<script type="text/javascript" src="{path to jquery.x.x.js}" ></script>

此外,它应该是$(document).ready(function(){});

不是$。(文件)

答案 2 :(得分:2)

显然问题是$ .document部分中有一个额外的点,但是在学习jquery时这里有一个提示。

您可能会发现自己处于页面上运行的另一个javascript库,并且它也使用了$符号。保持jquery与其他库分离但仍然共享$符号的好方法是在jquery init语句中使用$作为别名..就像这样。

//我们用jQuery开始时,美元符号不存在于此之外,所以我个人喜欢这种方法。

jQuery(document).ready(function($) {
    $('#...');
});

答案 3 :(得分:1)

您是否包含该行:

<script type="text/javascript" src="jquery.js"></script>

您需要向我们展示更多页面,以便我们了解错误。