假如有N对<ul> <li>标签 如做到点击当前的ul隐藏当前li其它标签不变。如何用jquery来实现。
答案:2 悬赏:10
解决时间 2021-01-22 09:33
- 提问者网友:温柔港
- 2021-01-21 23:41
假如有N对<ul> <li>标签 如做到点击当前的ul隐藏当前li其它标签不变。如何用jquery来实现。
最佳答案
- 二级知识专家网友:第四晚心情
- 2021-01-22 00:40
jq:
$("ul").click(function(){
$(this).find("li").hide();//点击哪个 就把哪个下边的li隐藏 $(this)就指的是你点击的ul
//当然 这样会导致 你点击一个就隐藏一个 到最后 没有显示的了
所以可以这样:
$("ul").find("li").show();
$(this).find("li").hide();//点哪个隐藏哪个 其他的都显示出来
});
追问为什么点击li标签也会隐藏li可不可以只点击ul的时候显示或隐藏li。点击li不会隐藏li呢?追答因为li属于ul的下级标签 点击li就会出发ul的事件 你是想实现ul li自定义的下拉列表或者菜单栏么?追问是的
全部回答
- 1楼网友:低血压的长颈鹿
- 2021-01-22 01:26
呵呵,建议这样使用:
$("ul li").click(function(){
$(this).hide();
})追问为什么点击li标签也会隐藏li可不可以只点击ul的时候显示或隐藏li。点击li不会隐藏li呢?追答
大哥,我不明白你神马意思。点击ul隐藏li。第一个问题是ul里面全是li。点击ul就是点击其中一个li呀。搞不懂你什么特殊布局。$("ul").click(function(){
$(this).find("li").hide();//点击ul后隐藏ul下所有li
})追问//点它显示或隐藏。
aaaaaaa</a>//点它不触发任何事件。
</ul>
我的意思是点击当前显示或隐藏当前的;当我点击当前的时候不会隐藏掉。只有点击当前的的时候才会隐藏当前的;追答$("ul").click(function(){
$(this).find(".on").hide();
}).find("li").click(function(){
$(this).addClass("on").siblings().removeAttr("class");
});
点击li时添加class=on,当点击ul时隐藏含有class=on的li
$("ul li").click(function(){
$(this).hide();
})追问为什么点击li标签也会隐藏li可不可以只点击ul的时候显示或隐藏li。点击li不会隐藏li呢?追答
大哥,我不明白你神马意思。点击ul隐藏li。第一个问题是ul里面全是li。点击ul就是点击其中一个li呀。搞不懂你什么特殊布局。$("ul").click(function(){
$(this).find("li").hide();//点击ul后隐藏ul下所有li
})追问//点它显示或隐藏。
aaaaaaa</a>//点它不触发任何事件。
</ul>
我的意思是点击当前显示或隐藏当前的;当我点击当前的时候不会隐藏掉。只有点击当前的的时候才会隐藏当前的;追答$("ul").click(function(){
$(this).find(".on").hide();
}).find("li").click(function(){
$(this).addClass("on").siblings().removeAttr("class");
});
点击li时添加class=on,当点击ul时隐藏含有class=on的li
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯