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 相关文章推荐
基于jQuery的输入框无值自动显示指定数据的实现代码
Jan 24 Javascript
jQuery晃动层特效实现方法
Mar 09 Javascript
JQuery控制Radio选中方法分析
May 29 Javascript
jQuery实现产品对比功能附源码下载
Aug 09 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
Sep 02 Javascript
vue如何实现observer和watcher源码解析
Mar 09 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
详解angular脏检查原理及伪代码实现
Jun 08 Javascript
jQuery轻量级表单模型验证插件
Oct 15 jQuery
vue3+typescript实现图片懒加载插件
Oct 26 Javascript
jQuery实现动态向上滚动
Dec 21 jQuery
jQuery实现广告显示和隐藏动画
Jul 04 jQuery
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写的小东西
2006/12/06 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
2019/08/27 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
2015/11/06 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
VSCode中如何利用d.ts文件进行js智能提示
2018/04/13 Javascript
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
js实现三角形粒子运动
2020/09/22 Javascript
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
[53:10]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs VG 第一场
2018/04/11 DOTA
python单链表实现代码实例
2013/11/21 Python
python实现apahce网站日志分析示例
2014/04/02 Python
python 读写、创建 文件的方法(必看)
2016/09/12 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
Python hashlib模块用法实例分析
2018/06/12 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
Python中logger日志模块详解
2020/08/04 Python
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
公司道歉信范文
2014/01/09 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
地道战观后感300字
2015/06/04 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS