2011-06-15 31 views
1

当我试图让<div id="test">this should go down</div>下井:使用Javascript - 语法错误:意外的令牌}

<div onclick="(".test").slideDown(800);">close it</div> 

我得到这个错误每次我点击“关闭”

SyntaxError: Unexpected token } 

请让我知道,我做错了什么。谢谢:)

+0

您使用的是jQuery吗?我猜你是靠语法。 – 2011-06-15 20:41:32

+0

就像一个笔记,我假设你在记事本中写这个,几乎所有的东西都提供了语法高亮。有了这个,你应该使用类似[Notepad ++](http://notepad-plus-plus.org/),[vim](http://www.vim.org/)或甚至是_immediately_在你的引用中注意到一些奇怪的东西堆栈溢出接口。我肯定会推荐切换。 – brymck 2011-06-15 20:46:47

+0

谢谢大家,在你的帮助下我得到它的工作<3 – alex 2011-06-15 21:55:05

回答

4

尝试这样的:

<div onclick="$('.test').slideDown(800);">close it</div> 

,甚至更好,因为它似乎你是使用jQuery:

<div id="close">close it</div> 

,并在一个单独的JavaScript文件:

$('#close').click(function() { 
    $('.test').slideDown(800); 
}); 

看看这是多么清洁?您不再需要将标记与javascript混合,并且遇到目前遇到的问题。

+0

任何原因downvote?当downvoting解释为什么你认为这个答案是错误的,请留下评论。 – 2011-06-15 20:42:11

+0

+1,即使'.test'应该是'#test' :-) – andyb 2011-06-15 20:49:58

+0

@andyb,为什么'.test'应该是'#test'?它可能是一个类选择器,不是吗? – 2011-06-15 20:56:19

2

变化对双引号的使用(我猜你使用jQuery,所以你还需要添加$快捷方式(或全jQuery的调用)的:

onclick="$('.test').slideDown(800);" 

// or 

onclick='$(".test").slideDown(800);' 
1

你是使用<div id="test">的ID选择器,但试图使用类选择器来动画<div>$(.test),这将永远不会匹配。但是你的代码也有坏的报价这是造成的SyntaxError,所以要搞定一切以下的人应该帮助:-)

HTML:

<div id="closeIt">close it</div> 

的JavaScript:

$('#closeIt').click(function() { 
    $('#test').slideDown(800); 
}); 

或完整示例(具有单独的绑定功能):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <title>Test</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $('#closeIt').click(function() { 
       $('#test').slideDown(800); 
      }); 
     }); 
    </script> 
    <style type="text/css"> 
     #test { 
      display:none; 
     } 
    </style> 
</head> 
<body> 
<div> 
<div id="closeIt">close it</div> 
<div id="test">this should go down</div> 
</div> 
</body> 
</html> 

或inline onclick(不建议因为这不会将标记与行为分开,但它仍然有效)

<div onclick="$('#test').slideDown(800);">close it</div>