2011-03-11 70 views
0

这是一个快速的...jquery:快讯val

它为什么不起作用?

var currentSlideshow = $(".slideshow div").index();  
$('#menu ul li a').click(function() { 
    alert("currentSlideshow"); 


}); 

它不会提醒任何人。

+0

可能你的点击事件不会触发,因为选择器是错误的? – Peter 2011-03-11 10:19:51

+0

你的意思是它根本没有提醒,或者它没有提醒你保存的索引。如果#2那么Shota回答了 – mplungjan 2011-03-11 10:20:40

+0

你的'ul'或者它的*容器*有'#menu'的id吗? – 2011-03-11 10:21:12

回答

5

您可以向一个字符串“currentSlideshow”,而不是一个变量currentSlideshow

+0

那么?然后它仍然会提醒字符串。它表示它根本不提示 – TurBas 2011-03-11 10:20:18

+0

然后这是您选择器的问题。 – Headshota 2011-03-11 10:20:52

+1

@TurBas:对我来说,这个短语* [它]不会提醒任何事情*意味着什么都不会提醒,并不是没有警报。 ...虽然我是一个奇怪的英语Lit毕业生,所以...我可能只是有点奇怪的语言。 – 2011-03-11 10:22:47

0

我猜这样的单击事件从来没有发射的是选择永远不匹配的元素。

你可以发布HTML,以便我们可以看到是否有问题吗?

1

你的选择器没有选择任何东西。

#menu ul li a 
  1. 你有ID菜单的的东西吗?
  2. 你是否有<ul>作为孩子的菜单ID的元素?
  3. <ul>内是否有<li>元素?
  4. 请问<li>元素有<a>元素吗?
1

我重建你的例子:look here那里的事件发生。

编辑:从的jsfiddle

粘贴HTML代码:

<div id="menu"> 
<ul> 

    <li><a href="">Test</a></li> 
</ul> 
</div> 

<div class="slideshow" id="4"><div id="5"></div></div> 

JS

var currentSlideshow = $(".slideshow div").index();  
$('#menu ul li a').click(function() { 
    alert("currentSlideshow"); 
}); 
+0

努力工作,如果您将代码复制到此处,我们不必点击即可看到:-) – Peter 2011-03-11 13:59:01

0

正如其他人所建议的,请检查该选择是正确的。这可以使用萤火虫,例如..试试这个,在处理函数中添加一个断点,检查它是否打破它..另外,如果它只是为了调试的目的,使用萤火虫控制台。