2011-03-11 75 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

正如其他人所建議的,請檢查該選擇是正確的。這可以使用螢火蟲,例如..試試這個,在處理函數中添加一個斷點,檢查它是否打破它..另外,如果它只是爲了調試的目的,使用螢火蟲控制檯。