代码规范:
var $variable = jQuery对象;
var variable = DOM对象;

jQuery对象无法使用DOM对象的任何方法,同样DOM对象也无法使用jQuery对象的任何方法。
下面两个代码是等效的,获取id为foo的元素的html代码。
document.grtElementById("foo").innerHTML;
$("#foo").html();

DOM对象和Jquery对象的转换
JQuery->DOM
1) var $cr = $("#cr");
var cr = $cr[0];
alert(cr.checked); 检测这个checkbox是否被选中了
2) var $cr = $("#cr");
var cr = $cr.get(0);
alert(cr.checked); 检测这个checkbox是否被选中了
DOM->JQuery
var cr = document.getElementById("cr");
var $cr = $(cr);

<input type="checkbox" id="cr" /><label for="cr">我已经阅读了上面制度. </label>

用DOM方式来判断复选框是否被选中
$(document).ready(function(){
var $cr = $("$cr");
var cr = $cr[0];
$cr.click(function){
if(cr.checked){
alert("感谢你的支持!你可以继续操作");
}
}
})
用JQuery方式来判断复选框是否被选中
$(document).ready(function)(){
var $cr = $("#cr");
$cr.click(function(){
if ($cr.is(":checked")) {
alert("感谢你的支持!你可以继续操作");
}
})
}

JQuery.noConflict()函数可以将变量的控制权移交给其他JavaScript库
JQuery.noConflict()函数也可以自定义一个快捷方式
……省略其他代码
var $j = JQuery.noConflict();
$j(function(){
………
})

传统的js用getElementById()和getElemnetByTagName()函数获取标签必须要进行判断

<div>test</div>
<script type="text/javascript">
if (decoment.getElementById("tt") {
document.getElementById("tt").style.color="red";
}
</script>

<div>test</div>
<script type="text/javascript">
$('#tt').css("color","red"); 这里无需判断$('#tt')是否存在
</script>

$('#tt')获取的永远是对象,即使页面上没有这个元素,因此当要用jQuery检查某个元素在网页上是否存在是,不要用以下代码:
if ($('#tt')) { //do something }
而应该根据获取到的元素的长度来判断,代码如下
if ($('#tt').length>0) {//do something }
或者转化成dom对象来判断,代码如下:
if ($('#tt')[0]) { //do something }

给网页中的所有<p>元素添加onclick事件
js代码如下:
var items = document.getElementByTagName("p");
for(i=0;i<items.length;i++){
items[i].onclick = function(){
//do something
}
}

对多选框进行操作,输出选中的多选框的个数
var btn = document.getElementByName("btn");
tbn.onclick = function (){
var arrays = new Array();
var items = document.getElementByName("check");

for(i=0 ; i<items.length;i++){
if(items[i].checked){
arrays.push(items[i].value);
}
}
alert("选中的个数为"+arrays.length);

鼠标事件 键盘事件 表单事件 文档/窗口事件
click keypress submit load
dblclick keydown change resize
mouseenter keyup focus scroll
mouseleave   blur unload
hover      

注意:load() 方法在 jQuery 版本 1.8 中已废弃

锋利的jQuery读书随笔的更多相关文章

  1. 锋利的jQuery读书笔记---选择器

    前段时间入手了锋利的jQuery(第二版),想着加强下自己的js能力,可前段时间一只在熟悉Spring和Hibernate.最近抽时间开始读这本书了,随便也做了些记录. 读书的过程是边看边代码测试,所 ...

  2. 锋利的jQuery读书笔记---jQuery中Ajax--序列化元素、Ajax全局事件

    serialize()方法: 作用于一个jQuery对象,它能够将DOM元素内容序列化为字符串,用于Ajax请求. <!DOCTYPE html> <html> <hea ...

  3. 锋利的jQuery读书笔记---jQuery中Ajax--get、post等方法

    load()方法通常用来从Web服务器上获取静态的数据文件,然而这并不能体现ajax的全部价值. 在项目中,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()或者$.post()方法(或 ...

  4. 锋利的jQuery读书笔记---jQuery中Ajax--load方法

    第一个Ajax例子 <!DOCTYPE html> <html> <head lang="en"> <meta charset=" ...

  5. 锋利的jQuery读书笔记---jQuery中动画

    jQuery中的动画: 1.show和hide 2.fadeIn和fadeOut 3.slideUp和slideDown <!DOCTYPE html> <html> < ...

  6. 锋利的jQuery读书笔记---jQuery中的事件

    jQuery中的事件: 1.加载DOM:注意window.onload和$(document).ready()的不同 2.事件绑定 3.合成事件 --2和3的详细信息见代码- <!DOCTYPE ...

  7. 锋利的jQuery读书笔记---jQuery中操作DOM

    一般来说,DOM的操作分为3个方面,即DOM Core.HTML-DOM和CSS-DOM jQuery中的DOM操作主要包括以下种类: 查找节点 查找元素节点 查找属性节点 创建节点 创建元素节点 创 ...

  8. <锋利的jQuery>读书笔记

  9. 《锋利的jQuery》读书笔记(DOM+事件)

    前阵子买了一批书,就从锋利的jQuery看起吧,书中一些太过常规以及没有强记必要性的操作就不记录了. 1.DOM加载后执行JS $(document).ready(function(){ //.... ...

随机推荐

  1. Alert 警告

    基本用法 页面中的非浮层元素,不会自动消失. Alert 组件提供四种主题,由type属性指定,默认值为info. <template> <el-alert title=" ...

  2. tableau extension 调研

    概述 最近调研了一下 tableau extensions 的实现,有一些心得,记录下来,供以后开发时参考,相信对其他人也有用. 总的来说,写 tableau extensions 还是挺简单的,只是 ...

  3. mips调试

    0x01 环境搭建 由于我们通常的操作系统指令集都是x86的,所以无法跑MIPS程序.这时候就需要装QEMU来模拟,QEMU通过源码编译较为复杂,我们又没有特殊的需求,所以直接使用ubuntu的APT ...

  4. pyqt5在QMainWindow中布局的问题

    在pyqt5中使用了父类为QMainWindow的话,在里面使用布局类,QGridLayout, QHBoxLayout ,QVBoxLayout 时,发现不好用. 解决: 如果是在以QWidget为 ...

  5. 面向对象编程(oop)的变迁

    作者:匿名用户链接:https://www.zhihu.com/question/34018003/answer/132740170来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  6. python-Web-django-富文本编辑器

    views: def gbook(request): '''''' text = request.POST.get('text') soup = BeautifulSoup(text, "h ...

  7. python-Web-django-邮箱登陆

    setting: # 发送邮箱 EMAIL_HOST = 'smtp.163.com' EMAIL_PORT = 465 EMAIL_HOST_USER = '666666@163.com' #EMA ...

  8. 调用redis封装好的JedisUtils接口实现锁库

    1.在进行数据库操作的方法前先定义一个key值,并添加一个能区别每个key的标识 2.首先判断如果定义的key值存在的话,就直接return方法,如果不存在的话,就把key值放在jedisutil中, ...

  9. 语音识别LD3320

    一.概述 1.芯片介绍 LD3320 是一颗基于非特定人语音识(SI-ASR:Speaker-Independent  Automatic Speech Recognition)技术的语音识/声控芯片 ...

  10. 【JulyEdu-Python基础】第 1 课:入门基础

    一些学习资源的收集: 可汗学院 视频 公开课 Grossin 编程教室: 一个非常简单,对初学者非常友好的教程和在线联系 廖雪峰教程 书籍: Python核心编程: 这本书应该是最清楚.最深入全面的书 ...