作者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/cn.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