$ 和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 方法返回指定对象的原始值
随机推荐
- Log4Net的WebApplication使用
一.Log4Net的WebApplication使用 1.首先使用nuget 添加log4Net 到WebApplication项目中 log4j每个符号的具体含义:%d %5p %c{1}:%L - ...
- DELPHI 参数前缀的使用
传值参数传值参数可在过程内部修改,但过程返回时该修改不会反映出来.不加任何前缀,就表示该参数为传值参数.Procedure Foo( I : Integer );I 的值被传递到Foo 过程.当Foo ...
- pytest学习(1)
pytest是python的一个测试框架,主要是用来进行一些小的测试. 在pycharm中,缺省用的是unittest,这里说明如何设置为pytest. 当然,第一部是安装pytest pip3 in ...
- cat命令和tac命令
cat命令 连接文件并打印到标准输出设备上,cat经常用来显示文件的内容. 注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容.因此,一般用more等命令分屏显示. 为了控制 ...
- [BZOJ2631]tree 动态树lct
2631: tree Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 5171 Solved: 1754[Submit][Status][Discus ...
- [libgdx游戏开发教程]使用Libgdx进行游戏开发(11)-高级编程技巧 Box2d和Shader
高级编程技巧只是相对的,其实主要是讲物理模拟和着色器程序的使用. 本章主要讲解利用Box2D并用它来实现萝卜雨,然后是使用单色着色器shader让画面呈现单色状态:http://files.cnblo ...
- C++-二维vector初始化大小方法-备忘
来源: C++——二维vector初始化大小方法 1.直接用初始化方法 名字为vec,大小为n*m,初始值为0的二维vector. vector<vector<)); 2.用resize( ...
- 大数据DMP画像系统(转载 简介-龙果学院)
一.目标 1.掌握画像标签开发技巧 2.掌握数据挖掘技巧 3.了解业内画像和DMP系统的架构和开发 4.大数据结合业务场景落地 系统开发要求 涉及的技术要点:spark .elasticsearch. ...
- 3、Flask实战第3天:url_for使用
我们之前是通过url来找到对应的视图函数 / => hello_world 那么url_for则是通过视图函数找到url hello world => / 演示如下 .. ...
- JMeter之分布式部署
转自:http://www.cnblogs.com/yangxia-test/p/4016277.html Jmeter 是Java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发 ...