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中更短的 Array 类型转换
Oct 30 Javascript
js控制CSS样式属性语法对照表
Dec 11 Javascript
javascript中的onkeyup和onkeydown区别介绍
Apr 28 Javascript
JavaScript将一个数组插入到另一个数组的方法
Mar 19 Javascript
Bootstrap安装环境配置教程分享
May 27 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
Aug 01 Javascript
BACKBONE.JS 简单入门范例
Oct 17 Javascript
node.js自动上传ftp的脚本分享
Jun 16 Javascript
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
Sep 26 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
Oct 31 Javascript
Vue组件的使用及个人理解与介绍
Feb 09 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
May 09 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
linux iconv方法的使用
2011/10/01 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
phpstrom使用xdebug配置方法
2013/12/17 PHP
codeigniter中view通过循环显示数组数据的方法
2015/03/20 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
2018/07/30 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
js获取当前日期前七天的方法
2015/02/28 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
微信小程序实现定位及到指定位置导航的示例代码
2019/08/20 Javascript
微信小程序修改checkbox的样式代码实例
2020/01/21 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
[53:15]Newbee vs Pain 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
浅析python协程相关概念
2018/01/20 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
大学生实习期自我评价范文
2013/10/03 职场文书
医学生自我鉴定范文
2013/11/08 职场文书
授权委托书样本
2014/09/25 职场文书
大学生个人学习总结
2015/02/15 职场文书