代码规范:
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. n个数连接得到最小或最大的多位整数(携程)

    package numCombine; import java.util.Arrays; import java.util.Collections; import java.util.Comparat ...

  2. Jenkins初次启动卡住问题解决

    Jenkins在初次使用时, 一直卡住, 无论如何也不出现输入用户名密码. 忘记截图, 下次出现更新图示. 解决方案: 需要你进入Jenkins的工作目录,打开 hudson.model.Update ...

  3. java源码-Semaphore源码分析

    Semaphore内部Sync对象同样也是继承AQS,跟Reentrant一样有公平锁跟非公平锁区分,但是Semaphore是基于共享锁开发,Reentrant是基于独占锁开发.主要就是初始化Sema ...

  4. Nginx反向代理后应用程序获取客户端真实IP

    Nginx反向代理后,Servlet应用通过request.getRemoteAddr()取到的IP是Nginx的IP地址,并非客户端真实IP,通过request.getRequestURL()获取的 ...

  5. java:activiti(工作流简介 )

    1.工作流:(workflow) 整个工作的流程 eg:请假工作流 (我)员工-->组长-->经理-->主管-->人事-->总经理(董事会) eg:出差(报账)工作流 ( ...

  6. JS apply 、call和bind

    JS当中的call .apply.和bind 这三个方法都是js function当中自带的方法,用来改变this的指向. call()方法 语法格式: fun.call(thisArg[,arg1[ ...

  7. 【HANA系列】SAP HANA SQL从给定日期中获取月份

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL从给定日 ...

  8. BeanPostProcessor详解

    转自: https://www.jianshu.com/p/d26e8ec9c077? BeanPostProcessor也称为Bean后置处理器,它是Spring中定义的接口,在Spring容器的创 ...

  9. 【Linux开发】linux设备驱动归纳总结(四):4.单处理器下的竞态和并发

    linux设备驱动归纳总结(四):4.单处理器下的竞态和并发 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  10. vue中 Vue.set 的使用

    Vue.set(vm.items, indexOfItem, newValue) 1.vm.items :源数据:2.indexOfItem : 要修改的数据的键3.newValue : 要修改的数据 ...