锋利的jQuery第2版学习笔记1~3章
第1章,认识jQuery
注意:使用的jQuery版本为1.7.1
目前流行的JavaScript库
jQuery优势
jQuery代码的编写
jQuery对象和DOM对象的相互转换
var $cr = $("#cr"); //jQuery对象
var cr = $cr[0]; //DOM对象
var $cr = $("#cr"); //jQuery对象
var cr = $cr.get(0); //DOM对象
var cr = document.getElementById("cr"); //DOM对象
var $cr = $(cr); //jQuery对象
解决jQuery和其它库的冲突
<!-- 引入prototype库 -->
<script type="text/javascript" src="lib/prototype.js"></script>
<!-- 引入jQuery库 -->
<script type="text/javascript" src="lib/jQuery.js"></script>
<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权移交给prototype.js
jQuery(function(){ //使用jQuery
jQuery("p").click(function(){
alert(jQuery(this).text());
});
});
$('pp').style.display = 'none'; //使用prototype.js隐藏元素
</script>
(2)想确保jQuery不与其他库冲突,又想自定义快捷方式:
<script type="text/javascript">
var $j = jQuery.noConflict(); //自定义快捷方式
$j(function(){ //使用jQuery,利用自定义快捷方式 $j
$j("p").click(function(){
alert.($j(this).text());
});
});
$('pp').style.display = 'none'; //使用prototype.js隐藏元素
</script>
<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权移交给prototype.js
jQuery(function($){ //使用jQuery设定页面加载时执行的函数
$("p").click(function(){ //函数内部继续使用$()
alert.($(this).text());
});
});
$('pp').style.display = 'none'; //使用prototype.js隐藏元素
</script>
<2>
<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权移交给prototype.js
(function($){ //定义匿名函数
$(function(){ //匿名函数内部的$均为jQuery
$("p").click(function(){
alert.($(this).text());
});
});
})(jQuery); //执行匿名函数且传递实参jQuery
$('pp').style.display = 'none'; //使用prototype.js隐藏元素
</script>
第2章,jQuery选择器
jQuery选择器的优势
if($("#tt")){ /* do something */ }
应根据获取的元素长度来判断:
if($("#tt").length > 0){ /* do something */ }
或转换成DOM对象:
if($("#tt")[0]){ /* do something */ }
| 选择器 | 描述 | 返回 | 示例 |
| #id | 根据给定id匹配一个元素 | 单个元素 | $("#test")选取id为test的元素 |
| .class | 根据给定类名匹配元素 | 集合元素 | $(".test")选取所有class为test的元素 |
| element | 根据给定元素名匹配元素 | 集合元素 | $("p") |
| * | 匹配所有元素 | 集合元素 | $("*") |
| selector1,selector2... | 将每个选择器匹配到的元素合并后一起返回 | 集合元素 | $("div,span,p.myClass") |
| 选择器 | 描述 | 返回 | 示例 |
| $("ancestor descendant") | 选取ancestor元素里所有descendant(后代)元素 | 集合元素 | $("div span")选取div里所有span元素 |
| $("parent>child") | 与CSS的子选择器一样 | 集合元素 | $("div>span") |
| $("prev+next") | 与CSS的相邻同胞选择器一样 | 集合元素 | $(".one+div") |
| $("prev~sibling") | 与CSS的通用的同胞组合选择器一样 | 集合元素 | $("#two~div") |
| 选择器 | 描述 | 返回 | 示例 |
| :first | 选取第一个元素 | 单个元素 | $("div:first")选取所有<div>元素中第1个<div>元素 |
| :last | 选取最后一个元素 | 单个元素 | $("div:last")解释类似:first |
| :not(selector) | 去除所有与给定选择器匹配的元素 | 集合元素 | $("input:not(.myClass)") |
| :even | 选取索引是偶数的元素,索引从0开始 | 集合元素 | $("input:even") |
| :odd | 选取索引是奇数的元素,索引从0开始 | 集合元素 | $("input:odd") |
| :eq(index) | 选取索引是index的元素,index从0开始 | 单个元素 | $("input:eq(1)") |
| :gt(index) | 选取索引大于index的元素,index从0开始 | 集合元素 | $("input:gt(1)") |
| :lt(index) | 选取索引小于index的元素,index从0开始 | 集合元素 | $("input:lt(1)") |
| :header | 选取所有标题元素,例h1,h2 | 集合元素 | $(":header") |
| :animated | 选取正在执行动画的元素 | 集合元素 | $("div:animated") |
| :focus | 选取获得焦点的元素 | 集合元素 | $(":focus") |
| 选择器 | 描述 | 返回 | 示例 |
| :contains(text) | 选取含有文本内容为“text”的元素 | 集合元素 | $("div:contains('me')")选取所有含有文本"me"的div元素 |
| :empty | 选取不包含子元素或文本的空元素 | 集合元素 | $("div:empty") |
| :has(selector) | 选取含有选择器所匹配的元素的元素 | 集合元素 | $("div:has(p)")选取含有p元素的div元素 |
| :parent | 选取含有子元素或文本元素的元素 | 集合元素 | $("div:parent") |
| 选择器 | 描述 | 返回 | 示例 |
| :hidden | 选取所有不可见元素 | 集合元素 | $(":hidden")选取所有不可见元素 |
| :visible | 选取所有可见元素 | 集合元素 | $("div:visible")选取可见的div元素 |
| 选择器 | 描述 | 返回 | 示例 |
| [attribute] | 选择拥有此属性的元素 | 集合元素 | $("div[id]")选取拥有id属性的div元素 |
| [attribute=value] | 选择拥有属性值为value的元素 | 集合元素 | $("div[title=test]") |
| [attribute!=value] | 选择属性值不等于value的元素 | 集合元素 | $("div[title!=test]"),没有属性title的元素也会被选取 |
| [attribute^=value] | 选择属性值以value开始的元素 | 集合元素 | $("div[title^=test]") |
| [attribute$=value] | 选择属性值以value结束的元素 | 集合元素 | $("div[title$=test]") |
| [attribute*=value] | 选择属性值含有value的元素 | 集合元素 | $("div[title*=test]") |
| [attribute|=value] | 选择属性等于给定字符串或以该字符串为前缀(该字符串后 跟一个连字符‘-’)的元素 |
集合元素 | $("div[title|="en"]")选取title属性等于en 或以en为前缀的元素 |
| [attribute~=value] | 选取属性用空格分隔的值中包含一个给定值的元素 | 集合元素 | $("div[title~="uk"]") |
| [attribute1] [attribute2] ... |
用属性选择器合并成复合选择器,满足多个条件,缩小范围 | 集合元素 | $("div[id][title$="test"]")选取拥有属性 id并且属性title以"test"结束的div元素 |
| 选择器 | 描述 | 返回 | 示例 |
| :nth-child(index/even /odd/equatioin) |
选取每个父元素下第index个子元素或奇偶元素, index从1开始 |
集合元素 | 将为每一个父元素匹配子元素 |
| :first-child | 选取每个父元素的第一个子元素 | 集合元素 | 将为每一个父元素匹配子元素 |
| :last-child | 选取每个父元素的最后一个子元素 | 集合元素 | 将为每一个父元素匹配子元素 |
| :only-child | 若某个元素是其父元素唯一的子元素,则被匹配 | 集合元素 | $("ul li:only-child")在<ul>中选取是唯一 子元素的<li>元素 |
| 选择器 | 描述 | 返回 | 示例 |
| :enabled | 选取所有可用元素 | 集合元素 | $("#form1 :enabled") |
| :disabled | 选取所有不可用元素 | 集合元素 | $("#form1 :disabled") |
| :checked | 选取所有被选中元素,单选,复选 | 集合元素 | $("input:checked") |
| :selected | 选取所有被选中选项元素,下来列表 | 集合元素 | $("select option:selected") |
|
|
|
|
|
| :input | 选取所有<input><textarea><select><button> | 集合元素 | $(":input") |
| :text | 选取所有单行文本框 | 集合元素 | $(":text") |
| :password | 选取所有密码框 | 集合元素 | $(":password") |
| :radio | 选取所有单选框 | 集合元素 | $(":radio") |
| :checkbox | 选取所有复选框 | 集合元素 | $(":checkbox") |
| :submit | 选取所有提交按钮 | 集合元素 | $(":submit") |
| :image | 选取所有图像按钮 | 集合元素 | $(":image") |
| :reset | 选取重置按钮 | 集合元素 | $(":reset") |
| :button | 选取所有按钮 | 集合元素 | $(":button") |
| :file | 选取所有上传域 | 集合元素 | $(":file") |
| :hidden | 选取所有不可见元素 | 集合元素 | $(":hidden") |
选择器中的注意事项
第3章,jQuery中的DOM操作
DOM操作分类
jQuery中的DOM操作
| 方法 | 描述 | 示例 |
| append() | 向每个匹配的元素内部追加内容 | <p>我想说:</p> $("p").append("<b>你好</b>"); <p>我想说:<b>你好</b></p> |
| appendTo() | 将所有匹配元素追加到指定元素中,与append方法颠倒 | <p>我想说:</p> $("<b>你好</b>").appendTo("p"); <p>我想说:<b>你好</b></p> |
| prepend() | 向每个元素内部前置内容 | <p>我想说:</p> $("p").prepend("<b>你好</b>"); <p><b>你好</b>我想说:</p> |
| prependTo() | 将所有匹配元素前置到指定元素中,与prependTo方法颠倒 | <p>我想说:</p> $("p").prependTo("<b>你好</b>"); <p><b>你好</b>我想说:</p> |
| after() | 在每个匹配元素之后插入内容 | <p>我想说:</p> $("p").after("<b>你好</b>"); <p>我想说:</p><b>你好</b> |
| insertAfter() | 将所有匹配元素插入到指定元素之后 | <p>我想说:</p> $("<b>你好</b> ").insertAfter("p"); <p>我想说:</p><b>你好</b> |
| before() | 在每个匹配的元素之前插入内容 | <p>我想说:</p> $("p").before("<b>你好</b>"); <b>你好</b> <p>我想说:</p> |
| insertBefore() | 将所有匹配元素插入到指定元素之前 | <p>我想说:</p> $("<b>你好</b> ").insertBefore("p"); <b>你好</b> <p>我想说:</p> |
$("ul li:eq(1)").remove();
$("ul li").remove("li[title!=test]");
$("p").replaceWith("<strong>hello</strong>");
$("<strong>hello</strong>").replaceAll("p");
<strong>hello</strong>
$("strong").wrap("<b></b>"); //用b标签把strong元素包裹起来
<b><strong>hello</strong></b>
<strong>hello</strong>
<strong>hello</strong>
$("strong").wrap("<b></b>");
<b><strong>hello</strong></b>
<b><strong>hello</strong></b>
<b>
<strong>hello</strong>
<strong>hello</strong>
</b>
<strong>hello</strong>
$("strong").wrapInner("<b></b>");
<strong><b>hello</b></strong>
var $p = $("p");
var p_txt = $p.attr("title");
$("p").attr("title","value"); //用于设置单个属性
$("p").attr({"title":"you title","name":"you name"}); //用于设置多个属性,使用对象传递
$("p").removeAttr("title");
$("p").addClass("another");
$toggleBtn.toggle(function(){
//代码1
},function(){
//代码2
});
$("p").toggleClass("another");
$("p").css("color","red"); //设置单个
$("p").css({"color":"red","fontSize":"30px"); //设置多个
$("p").height();
锋利的jQuery第2版学习笔记1~3章的更多相关文章
- 锋利的jQuery第2版学习笔记8~11章
第8章,用jQuery打造个性网站 网站结构 文件结构 images文件夹用于存放将要用到的图片 styles文件夹用于存放CSS样式表,个人更倾向于使用CSS文件夹 scripts文件夹用于存放jQ ...
- 锋利的jQuery第2版学习笔记4、5章
第4章,jQuery中的事件和动画 注意:使用的jQuery版本为1.7.1 jQuery中的事件 JavaScript中通常使用window.onload方法,jQuery中使用$(document ...
- 锋利的jQuery第2版学习笔记6、7章
第6章,jQuery与Ajax的应用 Ajax的优势和不足 Ajax的优势 1.不需要插件支持 2.优秀的用户体验 3.提高Web程序的性能 4.减轻服务器和带宽的负担 Ajax的不足 1.浏览器对X ...
- 神经网络与机器学习第3版学习笔记-第1章 Rosenblatt感知器
神经网络与机器学习第3版学习笔记 -初学者的笔记,记录花时间思考的各种疑惑 本文主要阐述该书在数学推导上一笔带过的地方.参考学习,在流畅理解书本内容的同时,还能温顾学过的数学知识,达到事半功倍的效果. ...
- HTML5与CSS3基础教程第八版学习笔记11~15章
第十一章,用CSS进行布局 开始布局注意事项 1.内容与显示分离 2.布局方法:固定宽度和响应式布局 固定宽度,整个页面和每一栏都有基于像素的宽度 响应式布局也称为流式页面,使用百分数定义宽度 3.浏 ...
- HTML5与CSS3基础教程第八版学习笔记7~10章
第七章,CSS构造块 CSS里有控制基本格式的属性(font-size,color),有控制布局的属性(position,float),还有决定访问者打印时在哪里换页的打印控制元素.CSS还有很多控制 ...
- HTML5与CSS3基础教程第八版学习笔记1~6章
第一章,网页的构造块 网页主要包括三个部分: 1.文本内容(纯文字) 2.对其他文件的引用:图像,音频,视频,样式表文件,js文件 3.标记:对文本内容进行描述并确保引用正确地工作 注:所有这些成分都 ...
- c#高级编程第七版 学习笔记 第三章 对象和类型
第三章 对象和类型 本章的内容: 类和结构的区别 类成员 按值和按引用传送参数 方法重载 构造函数和静态构造函数 只读字段 部分类 静态类 Object类,其他类型都从该类派生而来 3.1 类和结构 ...
- CSS3秘笈第三版涵盖HTML5学习笔记1~5章
第一部分----CSS基础知识 第1章,CSS需要的HTML HTML越简单,对搜索引擎越友好 div是块级元素,span是行内元素 <section>标签包含一组相关的内容,就像一本书中 ...
随机推荐
- 四轴飞行diy全套入门教程(从最基础的开始)
转载:http://www.cnmox.com/thread-12460-1-1.html首先声明本人也是菜鸟,此教程就是从一个菜鸟的角度来讲解,现在论坛上的帖子都突然冒很多名词出来,又不成体系,我自 ...
- FIREDAC连接SQLITE乱码的解决
在好多群里面都碰到问“FIREDAC连接SQLITE乱码的”的问题的同仁,遂将解决方法贴出来: 如上图所示设置 stringFormat为unicode即可
- Local host name unknown: java.net.UnknownHostException:
在Linux下安装完resin后,每次启动都出现如下错误: [11:06:45.617] {watchdog-} WatchdogProcess[Watchdog[],7] starting Resi ...
- 动态创建dom元素
效果图如上所示: 思维nav:就相当于qq空间发表动态(说说),在输入框里输入内容,点击提交(发表),内容就呈现在下面的动态栏里.我这里是准备写一个招聘的app,大家可以随便想象下哪些情况会遇到动态创 ...
- Hadoop对小文件的解决方式
小文件指的是那些size比HDFS的block size(默认64M)小的多的文件.不论什么一个文件,文件夹和block,在HDFS中都会被表示为一个object存储在namenode的内存中, 每一 ...
- 445port入侵具体解释
445port入侵具体解释 关于"445port入侵"的内容445port入侵具体解释本站搜索很多其它关于"445port入侵"的内容 445port入侵, ...
- mac下批量删除.svn文件
mac下.svn是隐藏文件,而且即使我们调成可见的,一个一个删也很麻烦.今天正好同事问起来这个命令,于是想可能有些人也需要,于是还是放到博客里吧 命令比较简单,其实就是一条linux命令,打开终端,首 ...
- 【转】教你Ruby快速入门
转自:http://developer.51cto.com/art/200703/41243.htm 介绍 这是一个短小的Ruby入门,完全读完只需20分钟.这里假设读者已经安装了Ruby,如果你没有 ...
- Educational Codeforces Round 2 C. Make Palindrome 贪心
C. Make Palindrome Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/600/pr ...
- 【原创】测试不同浏览器播放canvas动画的平滑程度
Canvas无疑是HTML5开放式网络平台最激动人心的技术之一.目前,除了IE8以外,各类浏览器的新版本都支持HTML5 Canvas. 程序员需要通过Javascript调用Canvas API.基 ...