jQuery中需要注意的细节问题小结


Posted in Javascript onDecember 06, 2011

1. $.find()与$.children()的区别
有如下HTML片段:

<div id="div_four"> 
<input id="one"/><input id="two"/> 
<div><input id="three"/></div> 
</div>

1. find() 返回元素下所有指定元素,不限制子级的深度,如:
$("#div_four").find("input")//返回one、two、three三个input元素
2.childr() 返回元素的一级子节点元素集合,如:
$("#div_four").children("input")//返回one、two两个input元素
2. $.append()与$.appendTo()的区别
1. append():返回父元素的引用
2. appendTo():返回新创建的元素的引用
<div id="div_1"></div> 
var e = $("<h1>动态创建并添加表标题元素</h1>").appendTo($("#div_1")); 
var r = $("#div_1").append("<h1>动态创建并添加表标题元素</h1>"); 
//e 表示新创建的<h1>元素 
//r 表示$("#div_1")元素

3. 动态绑定事件和静态添加事件的区别
有了jQuery后,给元素动态绑定事件变得很简单,但传统方式直接给元素添加事件也不能忘了,但综合了jQuery和普通JavaScript的程序在使用时必须明确jQuery动态绑定事件和静态添加事件在获得事件源对象的不同之处。
<p id="p1">动态绑定事件和静态添加事件的区别</p>
<p id="p2" onclick="fun()">动态绑定事件和静态添加事件的区别</p>
<p id="p3" onclick="fun2(this)">动态绑定事件和静态添加事件的区别</p>
//1. 动态绑定事件,this即代表事件源。如:
$("#p1").click(function(){
alert($(this).text()); //this代码事件源
});
//2. 静态绑定事件时,不能直接使用this。如:
function fun(){
alert($(this).text); //不能获得<p>的内容
//3. 通过传递“this"后即可获得事件源
function fun2(obj){
alert($(obj).text());//将obj包装为jQuery对象
4. 事件处理函数中this和$(this)的区别
$("#p1").click(function(){
alert(this.innerHTML); //直接使用this
alert($(this).text()); //将this包装为jQuery对象
});
如上代码中this代表事件源对象,但直使用this时它是HTML DOM对象;
$(this)可以将HTML DOM对象包装为jQuery对象,即拥有jQuery对象的属性和方法。
5. $.remove()和$.remove(selector)的区别
两种调用形式都返回方法前选择器选中的元素
1. remove():将自身从父元素中删除【自杀】
2. remove(expr):从父元素中删除某元素【他杀】
如:
var e = $("#div_2 h1").remove();//返回删除了的h1元素
var e = $("#div_2 h1").remove("#h2");//删除id为h2的<h1>元素,返回所有h1元素
6. $.eq()和$.get()的区别
相同点:都可获得元素集合中指定第n个元素
不同点:
1. eq(n) 返回的是jQuery对象,可以直接使用jQuery内置方法,如:
$("#div_three a").eq(0).bind("click", function () { 
alert($(this).text()); 
});

2. get(n) 返回的DOM Element对象,可以直接使用HTML DOM属性和方法,如:
$("#div_three a").get(1).onclick = function () {
alert($(this).text());
};
或将对象封装成jQuery对象达到一样的效果,如:
$($("#div_three a").get(1)).bind("click",function () { 
alert($(this).text()); 
});

7. $.css(properties)和$.css(name,value)的区别
1. 语法的区别
css(properties) $("p").css({color:"red"}); 或 $("p").css({"color":"red"});
css(name,value) $("p").css("color":"red");
2.属性名的区别
css(properties):
如果样式属性名没有用引号,则必须用JavaScript语法的css样式名:如
$("p").css({color:"red",fontSize:"30px"});
如果改为“font-size”就没有效果
如果样式属性名有用引号 ,则两种样式都可以,如:
$("p").css({color:"red","font-size":"30px","fontWeight":"bold"});
css(name,value):两种形式都可以,下面两种效果一样:
$("p").css("fontSize":"30px");
$("p").css("font-size":"30px");
Javascript 相关文章推荐
JS判断页面是否出现滚动条的方法
Jul 17 Javascript
javascript中错误使用var造成undefined
Mar 31 Javascript
jQuery绑定事件on()与弹窗的简要概述
Apr 27 Javascript
学习Angular中作用域需要注意的坑
Aug 17 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
Oct 15 Javascript
通过 JS 判断页面是否有滚动条的实现方法
Apr 05 Javascript
Vue.Draggable拖拽功能的配置使用方法
Jul 29 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
Apr 26 Javascript
jQuery Migrate 插件用法实例详解
May 22 jQuery
基于Express框架使用POST传递Form数据
Aug 10 Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
Aug 15 Javascript
JavaScript数组及常见操作方法小结
Nov 13 Javascript
jQuery load方法用法集锦
Dec 06 #Javascript
基于JQuery实现的类似购物商城的购物车
Dec 06 #Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
Dec 06 #Javascript
js Function类型
Dec 04 #Javascript
Javascript base64编码实现代码
Dec 02 #Javascript
JS获取页面窗口大小的代码解读
Dec 01 #Javascript
基于JQuery的抓取博客园首页RSS的代码
Dec 01 #Javascript
You might like
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
thinkphp3.2.0 setInc方法 源码全面解析
2018/01/29 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
基于BootStrap实现局部刷新分页实例代码
2016/08/08 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
Koa项目搭建过程详细记录
2018/04/12 Javascript
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
使用matplotlib画散点图的方法
2018/05/25 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
python numpy中cumsum的用法详解
2019/10/17 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
django跳转页面传参的实现
2020/09/17 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
集团公司总经理岗位职责
2013/12/20 职场文书
三年级语文教学反思
2014/02/01 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫