锋利的JQuery-认识Jquery
今天开始学习菜鸟的JQuery,这本书在一前看过一遍了,但是由于虽然看了,但是将近一年在工作中基本上没有用上,很是悲催,菜鸟想,用一到两个星期时间把这本书看一遍吧。就像菜鸟前面的jsdom一样,菜鸟写博客不是为了让人家从中学到什么,菜鸟目前还没那样的水平,菜鸟只是想通过在写博客的途中能够留下菜鸟学习的痕迹,仅此而已,因此菜鸟决定不将随笔放入首页,以免浪费大家的时间,但是菜鸟并不会因此而比较随意,复制粘贴,菜鸟坚持自己敲每一行代码,就像jsdom那样。
废话不多说,Come on!
先来一个简单的Jquery代码
<html>
<head>
<script src="../jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
alert("Hello World!");
});
</script>
</head>
<body>
<body>
</html>
这里面有关于jquery $(document).ready() 与window.onload的区别,博园里也有,我就不详细的写下来了。
- jQuery代码风格
 
链式风格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1-5-1</title>
<style type="text/css">
#menu {
width:300px;
}
.has_children{
background : #555;
color :#fff;
cursor:pointer;
}
.highlight{
color : #fff;
background : green;
}
div{
padding:0;
}
div a{
background : #888;
display : none;
float:left;
width:300px;
}
</style>
</head>
<body>
<div id="menu">
<div class="has_children">
<span>第1章-认识jQuery</span>
<a>1.1-JavaScript和JavaScript库</a>
<a>1.2-加入jQuery</a>
<a>1.3-编写简单jQuery代码</a>
<a>1.4-jQuery对象和DOM对象</a>
<a>1.5-解决jQuery和其它库的冲突</a>
<a>1.6-jQuery开发工具和插件</a>
<a>1.7-小结</a>
</div>
<div class="has_children">
<span>第2章-jQuery选择器</span>
<a>2.1-jQuery选择器是什么</a>
<a>2.2-jQuery选择器的优势</a>
<a>2.3-jQuery选择器</a>
<a>2.4-应用jQuery改写示例</a>
<a>2.5-选择器中的一些注意事项</a>
<a>2.6-案例研究——类似淘宝网品牌列表的效果</a>
<a>2.7-还有其它选择器么?</a>
<a>2.8-小结</a>
</div>
<div class="has_children">
<span>第3章-jQuery中的DOM操作</span>
<a>3.1-DOM操作的分类</a>
<a>3.2-jQuery中的DOM操作</a>
<a>3.3-案例研究——某网站超链接和图片提示效果</a>
<a>3.4-小结</a>
</div>
</div>
</body>
</html>
然后我们看一下jQuery来实现这个导航栏效果。
$(".has_children").click(function(){
    $(this).addClass("highlight").children("a").show().end().siblings().
    removeClass("highlight").children("a").hide()
});
这就是传说中的链式风格,我这个不知道和c#里面的扩展方法有什么相似之处。。这部分代码对于了解jQuery的人来说可能很简单,但是我想要是几十行或者上百行类似的代码,那看起来肯定和头痛,因此学会编写可读的代码比较重要:
$(".has_children").click(function(){
    $(this).addClass("highlight")//将但钱元素添加hightlight类
        .children("a").show().end()//将子节点的<a>元素显示出来并重新定位到上次操作的元素
    .siblings().removeClass("highlight")//获取元素的兄弟节点,并去掉他们的highlight类
        .children("a").hide()、、将兄弟元素下的<a>元素隐藏
});
要领总结:对于同一个对象不超过3个操作,可以直接写成一行,较多的建议每行写一个操作。对于多个对象的少量操作,可以每个对象写一行,如果涉及子元素,可以考虑适当地缩进。同时为代码添加相应的注释
DOM可以表示成一棵树,jQuery对象局势通过jQuer包装DOM对象后产生的对象
$("#foo").html()//jQuery
//等同于
document.getElementById("foo").innerHTML;//dom
jQuery对象用无法使用DOM方法。
jQuery对象和DOM对象互相转换
jQuery对象和DOM对象互换jQuery对象前加$
var $variable=jQuery对象;
var variabl=DOM对象;
jQuery对象转换成DOM对象。
1.[index],jQuery对象一个数组对象
var #cr=$("#cr");//jQuery对象
var cr=$cr[0];//DOM对象
alert(cr.checked)
get[index]
var #cr=$("#cr");//jQuery对象
var cr=$cr.get(0);//DOM对象
alert(cr.checked)
DOM对象转换正jQuery对象
var cr=document.getElementById("cr");//DOM对象
var #cr=$(cr);
实例,同意协议的
<html>
<head>
<script src="../jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
var $cr=$("#cr");//我在这儿少了#找了半天
var cr=$cr[0];
$cr.click(function(){
if (cr.checked)
{
alert("感谢你的支持!你可以继续操作");
}
})
}) </script>
</head>
<body>
<input type="checkbox" id = "cr"/>
<label for ="cr">我已经阅读了上面制度</label>
</body>
</html>
用jQuery实现
            $(document).ready(function(){
                var $cr=$("#cr");
                $cr.click(function(){
                    if (¥cr.is(":checked"))//jQuery方法判断
                    {
                        alert("感谢你的支持!你可以继续操作");
                    }
                })
            })
好这章就记录到这儿。
锋利的JQuery-认识Jquery的更多相关文章
- 01-老马jQuery教程-jQuery入口函数及选择器
		
前言 这套jQuery教程是老马专门为寒门子弟而录制,希望大家看到后能转发给更多的寒门子弟.视频都是免费,请参考课程地址:https://chuanke.baidu.com/s5508922.html ...
 - jQuery初探 jQuery选取和操纵元素的特点
		
jQuery初探 jQuery选取和操纵元素的特点 JavaScript选取元素 先来看看不用jQuery的时候我们是怎么处理元素选取的. JavaScript选取元素的时候,可以根据id获取元素,当 ...
 - jQuery实例——jQuery实现联动下拉列表查询框--转http://www.cnblogs.com/picaso/archive/2012/04/08/2437442.html#undefined
		
jQuery实例--jQuery实现联动下拉列表查询框 在查询与列表显示的时候经常用到联动列表显示,比如一级选项是国家,二级选项是省,三级是市,这样的联动是联系的实时导出的,比如你不可能选择了四川 ...
 - jQuery - 2.jQuery选择器
		
1.id 选择器 2.标签选择器 3.类选择器 4.复合选择器 5.层次选择器 JQuery的迭代 JQuery选择器 JQuery选择器用于查找满足条件的元素,比如可以用$("#控件I ...
 - jQuery-认识JQuery,jQuery选择器
		
认识JQuery: 1.window.onload与$(document).ready()的区别 window.onload $(document).ready() 执行时机 必须等待网页中的所有内容 ...
 - jQuery extend() & jQuery.fn.extend(),插件编写
		
资料来源:网上资料整理并自行改编测试.复制以下代码并依赖jquery.js,jquery.validate.js即可执行.有误之处,请@我啊,敬请赐教. <!DOCTYPE html PUBLI ...
 - jquery.validate+jquery.form提交的三种方式
		
原文:http://www.cnblogs.com/datoubaba/archive/2012/06/06/2538873.html jquery.validate+jquery.form提交的三种 ...
 - webpack+react+jquery和jquery插件
		
要引入jquery插件 全局引入jquery plugins : [new webpack.ProvidePlugin({ $: 'jquery', jQuery:'jquery' "win ...
 - 《jQuery、jQuery UI及jQuery Mobile技巧与示例》勘误收集
		
此书由程学彬 (http://weibo.com/ironbin)和我合译完成,此篇博客作为勘误收集而用,若译文有误或者有任何疑问,欢迎留下评论,或者给我发邮件(地址:gzooler@gmail.co ...
 - 从零开始学习jQuery (九) jQuery工具函数
		
一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 我们经常要使用脚本处理各种业务逻辑, 最常见的就 ...
 
随机推荐
- wireshark总结
			
拖延了两个月的总结!下面的很大一部分来自其它博客. wireshark过滤器的区别 捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中.需要在开始捕捉前设置.在Capt ...
 - PHPStorm 2016.2 - 2016.3许可证服务器
			
最快,最安全的选择,以激活您的PHPStorm 2016.2 - 2016.3,这是足够的激活服务器,软件将自动激活.该过程将不断更新,如果不工作评价写入,如果有,以激活没有列出的服务器也可以说. 通 ...
 - Tomcat & Nginx
			
http://cxshun.iteye.com/blog/1535188 反向代理方式实际上就是一台负责转发的代理 服务器,貌似充当了真正服务器的功能,但实际上并不是,代理服务器只是充当了转发的作用, ...
 - google map 点击获取经纬度
			
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
 - 安装 php 转
			
一 安装 php 命令: sudo apt-get install libapache2-mod-php5 php5 出现了如下错误: 按照方案一 解决了此问题. 一下 from http://w ...
 - 用minicom 产看 usb的串口
			
1 用命令 sudo apt-get install minicom 安装 2 用 minicom -s 进行配置 往下选择 Seral port setup: 然后输入 A :选择自己的 ...
 - WPF容器控件
			
WPF有五种容器控件,分别为Grid,Canvas,StackPanel,WrapPanel,DockPanel. Grid: 1.Height=”60”:不加“星号”表示固定的高度 2.Height ...
 - Schtasks 命令详解
			
管理计划任务 SCHTASKS /parameter [arguments] 描述: 允许管理员创建.删除.查询.更改.运行和中止本地或远程系统上的计划任务. 参数列表: /Creat ...
 - 1065: [NOI2008]奥运物流 - BZOJ
			
Sample Input4 1 0.52 3 1 310.0 10.0 10.0 10.0Sample Output30.00 推荐题解:http://blog.csdn.net/whjpji/art ...
 - 4.1 spring-alias 标签的解析;
			
对于之前漫长的,最核心的Bean标签的解析就没什么好讲的了, 首先看看使用方法: <bean id="car" name="cat0" class=&qu ...