jquery初级接触-----链式操作
设置一个初级菜单,点击显示本级菜单下的项目,被点击的同级其它菜单收起
html 代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<style>
.bg {
background: #ccc;
}
.none {
display: none;
}
</style>
</head>
<body>
<div class="box">
<ul class="menu">
<li class="level1">
<a href="#">衬衫</a>
<ul class="level2">
<li><a href="#" class="cc">长袖衬衫</a></li>
<li><a href="#" class="cc">短袖衬衫</a></li>
<li><a href="#" class="cc">长袖T shirt</a></li>
<li><a href="#" class="cc">短袖T shirt</a></li>
</ul>
</li>
<li class="level1">
<a href="#">卫衣</a>
<ul class="level2">
<li><a href="#" class="cc">开襟卫衣</a></li>
<li><a href="#" class="cc">套头卫衣</a></li>
<li><a href="#" class="cc">运动卫衣</a></li>
<li><a href="#" class="cc">童装卫衣</a></li>
</ul>
</li>
<li class="level1">
<a href="#">裤子</a>
<ul class="level2">
<li><a href="#" class="cc">短裤</a></li>
<li><a href="#" class="cc">牛仔裤</a></li>
<li><a href="#" class="cc">卡其裤</a></li>
<li><a href="#" class="cc">蚕丝库</a></li>
</ul>
</li>
</ul>
</div>
</body>
</html>
js代码(非链式写法):
<script>
$(function() {
$("ul.level2").addClass("none");
$(".level1>a").on("click", function() {
$(this).addClass("bg");
$(this).next().removeClass('none');
$(this).parent().siblings().children("a").removeClass("bg");
$(this).parent().siblings().children("a").next().addClass("none");
});
})
</script>
运行结果:

juery 链式写法:链式写法,可以把常规的需要写的代码简化,从而达到精简代码的目的
jquery 存在的意义:目的就是要达到少写代码,多做操作的事情,把写代码的问题简单化,也就是:write less,do more!
<script>
$(function() {
$("ul.level2").addClass("none");
$(".level1>a").on("click", function() {
$(this).addClass("bg").next().removeClass("none").end().parent().siblings().children("a").removeClass("bg").next().addClass("none");
});
})
</script>
运行结果:

从以上的写法可以看出,虽然写的代码行数减少了,但是效果并没有打折,达到目的了
备注:其中end() 是一个改变指针的函数,在这一行代码中,如果某个时候,我不知道指针现在指到哪里去了,那就加一个end()函数,这样,指针就指向了最初的 this 了
jquery初级接触-----链式操作的更多相关文章
- jQuery对象的链式操作用法分析
可以使用下面的原则判断一个函数返回的时候是jQuery对象,即是否可以用于链式操作. 除了获取某些数据的函数,比如获取属性值"attr(name)",获取集合大小"siz ...
- jQuery链式操作[转]
用过jQuery的朋友都知道他强大的链式操作,方便,简洁,易于理解,如下 $("has_children").click(function(){ $(this).addClass( ...
- 如何一行jquery代码写出tab标签页(链式操作)
啦啦!今天又学了一招,js写几十行的tab标签页jquery写一行就行啦,用到了链式操作!以下是代码: <!DOCTYPE html> <html lang="en&quo ...
- jquery中链式操作的this指向
jquery中链式操作是如何实现? 例如:$(obj).children().css('color','red').next().css('color','red').siblings().css(' ...
- jQuery链式操作
讨论jQuery的文章很多.然而,关于jQuery的链式操作的文章并无多少.好的代码会带来速度的提升.快速渲染和响应意味着更好的用户体验. 下面就来讲讲jQuery的链式操作. 很多时候我们写代码的时 ...
- jQuery 筛选器 链式编程操作
$('#i1').next() 下一个标签$('#i1').nextAll() 兄弟标签中,所有下一个标签$('#i1').nextUntil('#ii1') 兄弟标签中,从下一个标签到id为ii1的 ...
- JQUERY链式操作实例分析
本文实例讲述了jQuery链式操作.分享给大家供大家参考,具体如下: 从过去的实例中,我们知道jQuery语句可以链接在一起,这不仅可以缩短代码长度,而且很多时候可以实现特殊的效果. <scri ...
- jQuery链式操作如何返回上一级DOM
有时候我们在链式操作的时候,选择到了其他的DOM进行操作,如何再返回先前的dom呢,有一下几个方法,end(); addBack(); add(); 使用形式 $("#divFather&q ...
- PHP链式操作输出excel(csv)
工作中经常会遇到产品运营让导出一些简单的比较规范的数据,这时候要是有一个简单的方法可以用就简单多了.下面是我的一个输出简单的excel(csv)的方法类,用到了链式操作.说到链式操作,在jquery中 ...
随机推荐
- Linux下统计局域网流量
1:统计10.86.0.0/16网段的内网流量情况 将下面脚本保存成文件traffic-lan.sh(运行后需要等待10秒抓包) tcpdump -nqt src net and dst net ! ...
- KPPW2.5 漏洞利用--SQL注入
KPPW2.5 漏洞利用--SQL注入 SQL注入--布尔型盲注 环境搭建 1,集成环境简单方便,如wamp,phpstudy.... 2,KPPW v2.2源码一份(文末有分享)放到WWW目录下面 ...
- 分段覆盖率TPR
黑产监控中,需要尽可能做到尽可能少的误伤和尽可能准确地探测,可以选择“在FPR较低时的TPR加权平均值”作为平均指标. 根据混淆矩阵计算TPR(覆盖率)和FPR(打扰率): 覆盖率:TPR = TP ...
- sqoop导出mysql数据进入hive错误
看mr的运行显示:sqoop job可以获得的select max(xxx)结果,但是当mr开始时却显示大片错误,就是连接超时,和连接重置等问题, 最后去每个节点ping mysql的ip地址,发现 ...
- PHP:引用Phpword导出数据到word文档
下载地址https://www.cnwenhui.cn/html/show-597.html(其中有中文使用手册可以下载看看) 1.首先要下载Phpword类库,放在如下图目录下 2.调用方法 pub ...
- Android获取文件夹下的所有子文件名称;
public static List<String> getFilesAllName(String path) { File file=new File(path); File[] fil ...
- solr 使用edismax来控制评分
如何控制评分 如果设置了sort字段,那么将会按照sort字段的顺序返回结果. 如果没有设置sort字段,那么将会根据相关度打分来排序.也就是说,相关度更高的排在前面. 如何来定制适合自身业务的排序打 ...
- 使用python操作excel表格
首先 pip install xlrd 安装相关模块 其次:使用方法: 1 导入模块 import xlrd 2 打开excel文件读取数据 worksheet=xlrd.open_workbook ...
- openStack queens
- 30.Scrapy 对接 Selenium
Scrapy 对接 Selenium(参考代码网址,https://github.com/Python3WebSpider/ScrapySeleniumTest) 此文就是参考书上的代码拿下来跑,作为 ...