函数$(String)未定义

时间:2012-05-19 10:13:51

标签: javascript jquery html

我看到了一个例子here,并检查了它是如何工作的,但我收到了一个错误 - (见标题)

你知道为什么吗?

这是代码(类似于链接):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!--

  Created using /
  Source can be edited via /eyeyu/edit

-->
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<title>Sandbox</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
body { background-color: #000; font: 16px Helvetica, Arial; color: #fff; }
</style>
</head>
<body>
  <table border="1">
    <tr><td>1</td><td>2</td><td>3</td></tr>
    <tr><td>4</td><td>5</td><td>6</td></tr>
    <tr><td>7</td><td>8</td><td>9</td></tr>
  <tbody>
</table>
<script>
$('td').click(function(){
    var colIndex = $(this).parent().children().index($(this));
    var rowIndex = $(this).parent().parent().children().index($(this).parent());
    alert('Row: ' + rowIndex + ', Column: ' + colIndex);
});
</script>
</body>
</html>

1 个答案:

答案 0 :(得分:4)

您的代码运行正常!

所有测试的问题都可能来自缺少jQuery库, 请参阅live simulation linkprint-screen

此外,此工作Fiddle Example!


作为旁注:

  • 您缺少tbody的结束标记,并且有开始标记 无序:

更新您的HTML

<table border="1">
  <tbody>
    <tr><td>1</td><td>2</td><td>3</td></tr>
    <tr><td>4</td><td>5</td><td>6</td></tr>
    <tr><td>7</td><td>8</td><td>9</td></tr>
  </tbody>
</table>
  • 您的脚本代码缺少类型:

更新你的标签

<script type="text/javascript">...</script>

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

EDITED ::更好地巩固这个答案

  1. Link to live HTML file正在工作!
  2. Link to live HTML file没有加载jQuery,从而导致错误!
  3. 打印屏幕,供那些不想关注此链接的人使用:
  4. enter image description here

    注意: 正如疯狂的悬崖所述,评论中不需要.ready(),因为jQuery代码位于它选择的元素下面!