请说出 div 和 $div 的联系和区别

区别

div 返回一个HTML DOM Object

$div 返回一个 jQuery Object,

两者不等价

$div是包装了dom对象后产生的,无法使用dom对象的任何方法,比如$('#x').innerHTML

为了区分两种情况,如果是dom对象,前面加$,如果是普通的dom对象,就是普通的命名

div变$div

对于已经是一个dom对象,只需要用$()dom对象包装起来,就能获得一个jQuery对象

$div变div

两种方法

1.jQuery对象是一个数据对象,通过[index]的方法,得到相应的dom对象

var $x = $('#x') //jQuery对象
var x = $x[0] //DOM对象

2. jQuery本身提供方法,通过get(index)方法,得到相应的dom对象

var $v = $('#v') //jQuery对象
var v = $v.get(0) //DOM对象

div的属性和方法

getElementById(id) // 获取带有指定 id 的节点(元素)

appendChild(node) // 插入新的子节点(元素)

removeChild(node) // 删除子节点(元素)

innerHTML // 节点(元素)的文本值

parentNode // 节点(元素)的父节点

childNodes // 节点(元素)的子节点

attributes // 节点(元素)的属性节点

等等

$div的属性方法

就是jQuery对象的属性和方法

addClass 增加一个class

after在每个匹配的元素之后插入内容

animate 创建自定义动画的函数

append向每个匹配的元素内部追加内容

appendTo把所有匹配的元素追加到另一个指定的元素元素集合中

attr设置或返回被选元素的属性值

问题2

<ul>
<li></li>
<li></li>
</ul>

请写出 $('li') 的结构。

$('li') 是一个对象

包含两个key,两个key分别是连个li元素的方法、属性和内容

他们原型是Object(0),里面包含了jquery在元素上定义的很多方法和属性比如

addClass 增加一个class

after在每个匹配的元素之后插入内容

animate 创建自定义动画的函数

append向每个匹配的元素内部追加内容

appendTo把所有匹配的元素追加到另一个指定的元素元素集合中

attr设置或返回被选元素的属性值

css 访问匹配元素的样式属性

empty 删除匹配的元素集合中所有的子节点

eq获取当前链式操作中第N个jQuery对象

等等

而它的原型是Object,拥有对象常见的方法

constructor 返回创建实例对象的 Object 构造函数的引用

hasOwnProperty 检测一个对象是否含有特定的自身属性

isPrototypeOf 方法用于测试一个对象是否存在于另一个对象的原型链上

propertyIsEnumerable 方法返回一个布尔值,表示指定的属性是否可枚举

toLocaleString 方法返回一个该对象的字符串表示

toString 方法返回一个表示该对象的字符串

valueOf 方法返回指定对象的原始值

参考 http://www.cnblogs.com/theWayToAce/p/5591221.html

随机推荐

  1. 【python】正则表达式相关

    注意:Python3.X 的print要有括号, Python 2.x的不需要 放上学习时写的例子: import re m = re.match(r'(\w+) (\w+)(?P<sign&g ...

  2. poj 2398(叉积判断点在线段的哪一侧)

    Toy Storage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5016   Accepted: 2978 Descr ...

  3. AC日记——[HNOI2008]越狱 bzoj 1008

    1008 思路: 越狱情况=总情况-不越狱情况: 代码: #include <cstdio> #include <cstring> #include <iostream& ...

  4. ubuntu下配置ProFtpd服务使用sqlite3作为后端用户认证

    个人机器需要开个文件共享,Linux机器懒得配置SMB,就直接安装了ProFtpd,以做FTP服务器 Ubuntu安装挺简单,可使用就不那么友好了,配合GAdmin-Proftpd,一样不好用. 首先 ...

  5. HDU 1556.Color the ball-差分数组-备忘

    备忘. 差分数组: 区间更新查询有很多方法,线段树.树状数组等都可以.如果为离线查询,就可以考虑使用差分数组. 假设对于区间[l,r]的每个数都加1,我们用一个数组a来记录,a[l]+=1;a[r+1 ...

  6. asp.net中利用JSON进行增删改查中运用到的方法

    //asp.net中 利用JSON进行操作, //增加: //当点击“增加链接的时候”,弹出增加信息窗口,然后,在窗体中输入完整信息,点击提交按钮. //这里我们需要考虑这些:我会进行异步提交,使用j ...

  7. 30、Django实战第30天:修改邮箱和用户信息

    修改个人邮箱需要完成两个接口,一个是获取验证码,一个是新的邮箱和验证码是否匹配 1.编辑users.views.py class SendEmailCodeView(LoginRequiredMixi ...

  8. Linux Shell 量的自增

    Linux Shell 中写循环时,常常要用到变量的自增,现在总结一下整型变量自增的方法.我所知道的,bash中,目前有五种方法:1. i=`expr $i + 1`;2. let i+=1;3. ( ...

  9. 【二分答案】【最大流】bzoj3993 [Sdoi2015]星际战争

    二分Time,S->炮[i]:Time*b[i] 炮[i]->机器人[i]:INF 机器人[i]->T:a[i]. 判断是否满流. #include<cstdio> #i ...

  10. 【贪心】【线性基】bzoj2844 albus就是要第一个出场

    引用题解:http://blog.csdn.net/PoPoQQQ/article/details/39829237 注意评论区. #include<cstdio> using names ...