作者kotou (Eddie)
看板Web_Design
標題[問題] jquery selector選取問題
時間Fri Jan 9 23:33:26 2015
大家好~
由於正在自修前端語言,
於是邊做邊學,做了一個網頁
在使用jquery控制選單,
並顯示網頁上出了一點問題。
這是我的原始碼
https://www.dropbox.com/s/4nlreqwn3d2nxqo/web.rar?dl=0
js資料夾中,test.js為控制選單的jquery
我使用console去print jquery執行的過程
按下 Nav-5 會顯示下拉選單
test.js:8 ---
test.js:9 111
test.js:14 222
test.js:16 333
test.js:18 444
test.js:27 close
當按下 5-1 or 5-2 會收起來
test.js:8 ---
test.js:9 111
test.js:14 222
test.js:38 666
test.js:8 ---
test.js:9 111
test.js:14 222
test.js:16 333
test.js:18 444
test.js:27 close
但我有寫if去做判斷,但不知道為什我按下
5-1、5-2後會去跑兩次,是我觀念錯誤selector下錯了嗎?
還是我需要寫些甚麼?
還請各位大大指點一下,謝謝 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.0.72
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Web_Design/M.1420817609.A.97D.html
1F:推 YUPTT: $('ul.navigation li') => $('ul.navigation > li') 01/10 00:58
謝謝 YUPTT大 的指點,可能是我表達得不太好,
因為我是要點子選項(5-1、5-2),選單不會收合,然後做後續動作。
設計成$('ul.navigation li')是想要第一層if判斷
是否父節點有class navigation,有的話應當是按下
Nav1 ~ Nav6其中一個,如果是Nav5則顯示下拉選單,
可是好像是因為子選項包在Nav 5 的li裡面,所以點下
子選單還是會去執行收合的動作。
是否是我邏輯錯誤,還是需要加上甚麼判斷式?
※ 編輯: kotou (114.25.9.93), 01/10/2015 14:01:47
2F:推 bcawosxy: 1. $('ul.navigation li a') 01/10 15:19
3F:→ bcawosxy: 2. $(this).siblings("ul").slideToggle(); 01/10 15:19
4F:→ bcawosxy: 測試了一下 不知道是不是你要的結果 01/10 15:20
5F:→ bcawosxy: 看實作可以站內信我~給你看WEB 01/10 15:21
6F:→ kotou: 感謝bcawosxy大的提點,我之後畫了一張DOM樹狀圖,懂你的意 01/10 22:36
7F:→ kotou: 思了! PS:信中的連結好像無法開啟,不過非常感謝您 :) 01/10 22:37
※ 編輯: kotou (114.25.9.93), 01/10/2015 22:38:21