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 相关文章推荐
一段多浏览器的&quot;复制到剪贴板&quot;javascript代码
Mar 27 Javascript
js 可拖动列表实现代码
Dec 13 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
Aug 21 Javascript
JavaScript中获取样式的原生方法小结
Oct 08 Javascript
纯javascript实现分页(两种方法)
Aug 26 Javascript
Bootstrap每天必学之导航组件
Apr 25 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
May 18 Javascript
vue项目环境变量配置的实现方法
Oct 12 Javascript
深入浅析Vue 中 ref 的使用
Apr 29 Javascript
Vue循环中多个input绑定指定v-model实例
Aug 31 Javascript
教你部署vue项目到docker
Apr 05 Vue.js
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 Vue.js
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/10/09 PHP
php 什么是PEAR?(第二篇)
2009/03/19 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
mac下安装nginx和php
2013/11/04 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
js css后面所带参数含义介绍
2013/08/18 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
实用jquery操作表单元素的简单代码
2016/07/04 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
Vue2.0 事件的广播与接收(观察者模式)
2018/03/14 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
python3实现windows下同名进程监控
2018/06/21 Python
使用TensorFlow实现SVM
2018/09/06 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
某集团股份有限公司委托书样本
2014/09/24 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python
Django drf请求模块源码解析
2021/06/08 Python