$ 和getElementId的区别 / 一个jquery对象的原型
请说出 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
方法返回指定对象的原始值
随机推荐
- 消除Git diff中^M的差异
消除Git diff中^M的差异 在Windows上把一个刚commit的文件夹上传到了Ubuntu.在Ubuntu上使用git status查看,发现很多文件都被红色标注,表示刚刚修改未add.在W ...
- python算法:约瑟夫问题
据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特後,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被人抓到,于是决定了一个自杀方式,41 ...
- 描述一下JVM加载class文件的原理机制
Java中的所有类,都需要由类加载器装载到JVM中才能运行.类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中.在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的 ...
- 一分钟了解ruby中的单测
之前用gtest写过很多c++的单测case, 对gtest的强大和灵活印象深刻:最近需要用ruby写一个小工具, 接触了下ruby, 写了代码就要写单测啊(好的单测确实对代码的健壮性和正确性保证上太 ...
- 使用graphql和apollo client构建react web应用
graphql是一种用于 API 的查询语言(摘自官网). 我们为什么要用graphql? 相信大家在开发web应用的时候常常会遇到以下这些问题:后端更新了接口却没有通知前端,从而导致各种报错:后端修 ...
- 如何使用Jenkins进行持续集成测试
如何使用Jenkins进行持续集成测试: 安装Java环境: 安装Jenkins:两种方式,直接运行文件:使用tomcat运行: 创建一个job,构建的时候选择 execute Windows bat ...
- POJ 2407.Relatives-欧拉函数O(sqrt(n))
欧拉函数: 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. 对于一个正整数N的素数幂分解N=P1^q1*P2^q2*...*Pn^qn. Euler函数表达通式:euler(x)=x(1 ...
- RPD Volume 168 Issue 4 March 2016 评论3
Design and fabrication of a multipurpose thyroid phantom for medical dosimetry and calibration Abs ...
- DataNucleus(通过jpa和jdo接口访问多中数据源)
DataNucleus主页:http://www.datanucleus.org/index.html 简介: DataNucleus项目为Java运行环境中的应用数据提供了管理,它提供了标准的接口( ...
- luogu P1064 金明的预算方案
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”.今 ...