您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# jQuery如何控制li元素的显示与隐藏
在Web开发中,动态控制元素的显示与隐藏是常见需求。本文将详细介绍如何使用jQuery实现对`<li>`元素的显示/隐藏控制,涵盖基础方法、动画效果、条件判断等实用技巧。
## 一、基础显示与隐藏方法
### 1. show() 和 hide()
```javascript
// 隐藏所有li元素
$("ul li").hide();
// 显示所有li元素
$("ul li").show();
特点:
- 立即显示/隐藏,无过渡动画
- 会保留元素的原始display
属性(block/inline-block等)
// 切换显示状态(显示↔隐藏)
$("ul li").toggle();
// 淡出隐藏(默认400ms)
$("li").fadeOut();
// 淡入显示
$("li").fadeIn("slow"); // 可设置速度参数:slow/fast/毫秒数
// 切换
$("li").fadeToggle(1000); // 1秒动画
$("li").slideUp(); // 向上收起
$("li").slideDown(); // 向下展开
$("li").slideToggle(500); // 带速度参数的切换
// 隐藏第三个li(索引从0开始)
$("ul li:eq(2)").hide();
// 显示最后一个li
$("ul li:last").show();
// 隐藏所有带active类的li
$("li.active").hide();
// 显示有data-target属性的li
$("li[data-target]").show();
// 隐藏文本包含"测试"的li
$("ul li:contains('测试')").hide();
if($("li").is(":hidden")) {
$("li").show();
} else {
$("li").hide();
}
// 链式操作示例
$("ul")
.find("li")
.fadeOut(300)
.delay(500)
.fadeIn(300);
// 带回调函数
$("li").slideUp(400, function() {
console.log("隐藏完成!");
});
缓存选择器:
var $listItems = $("ul li");
$listItems.hide();
事件委托(适合动态生成的li):
$("ul").on("click", "li", function(){
$(this).toggle();
});
批量操作时优先使用父元素:
$("ul").hide(); // 比隐藏所有li性能更好
$(".accordion li").click(function(){
$(this).siblings().slideUp();
$(this).slideToggle();
});
<input type="text" id="search">
<ul>
<li>苹果</li>
<li>香蕉</li>
<li>橙子</li>
</ul>
<script>
$("#search").keyup(function(){
var filter = $(this).val().toLowerCase();
$("ul li").each(function(){
$(this).toggle($(this).text().toLowerCase().includes(filter));
});
});
</script>
jQuery提供了丰富的DOM操作方法,通过合理组合show()
/hide()
/toggle()
及其动画版本,可以轻松实现各种显示/隐藏需求。建议根据实际场景选择合适的方法,并注意性能优化。
注意:现代开发中也可考虑使用原生JavaScript的
classList
或CSS过渡动画实现类似效果,但jQuery在兼容性和简洁性上仍有优势。 “`
文章包含: 1. 基础方法介绍 2. 动画效果实现 3. 精确控制技巧 4. 条件判断逻辑 5. 性能优化建议 6. 实际应用案例 7. 总结与注意事项
总字数约900字,采用Markdown格式,包含代码块、标题层级和重点标注。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。