Noob尝试js和html编码......并且悲惨地失败了

时间:2011-11-12 22:40:32

标签: javascript html

HTML:

<!DOCTYPE html>
<html>
<head>

<SCRIPT language="JavaScript" src="mapbody.js"></SCRIPT> 
</head>
<body>

  <A HREF="javascript:a_message()">Click for a message..</A> 

</body>
</html>

mapbody.js:

function a_message()
{
alert('I came from an external script! Ha, Ha, Ha!!!!');
} 

当我拉起网页并点击链接时,没有任何反应。两个文件都在同一个文件夹中。我错过了什么?

3 个答案:

答案 0 :(得分:4)

有几件事:

  1. HTML元素应该都是小写的。
  2. language - 标记中的script - 属性已过时。请改用type="text/javascript"
  3. JavaScript函数调用应该进入onclick - 属性,而不是href
  4. 正确的实现可能如下所示:

    <!DOCTYPE html>
    <html>
    <head>
    <title>Is required!</title>
    <script type="text/javascript" src="mapbody.js"></script> 
    </head>
    <body>
      <a onclick="a_message();" href="#">Click for a message..</a> 
    </body>
    </html>
    

    此外,使用onclick(或任何其他onXX - 属性)绑定函数调用HTML元素是老派。像jQuery这样的库使您可以使用CSS选择器绑定某些HTML元素上的操作,从而实现HTML和JavaScript的完全分离。

答案 1 :(得分:0)

<!DOCTYPE html>
<html>
    <head>
        <title>...</title>
    </head>
    <body>
        <a href="#" onclick="a_message();">Click for a message..</a> 
        <script type="text/javascript" src="mapbody.js"></script>
    </body>
</html>

Lukas Knuth比我快。 :)

答案 2 :(得分:0)

适合我(Firefox 8):http://jsfiddle.net/FCXxU/

您的脚本的网址是否正常?

检查它的一种简单方法是在mapbody.js的开头添加alert('test');(在函数之前)。