读《JavaScript百炼成仙》感悟 记三

151 阅读2分钟

该篇是关于JQ的一些东西

1. 选择器

1. 标签选择器 p a
2. ID选择器 #box
3. 类选择器 .box
4. 群组选择器 .a,.b,.c{}
5. 后代选择器 .a span {}
6. 通配符选择器 * {}
7. :last 选择器 $("p:last") jq专属

2. JS代码执行

  • 由于js代码是根据书写顺序从上到下一行行执行的,所以如果在写代码时,注意js代码如果有操作dom的逻辑不要放在html前面,如果硬要这么写,可以通过window.onload()等待页面上所有资源,包含图片元素加载完毕后才能执行
  • 相关api
    1. $(dom).ready 等待dom内所有资源加载完成再执行
    2. dom.onready 等待dom结构绘制完毕就开始执行了,不等到结束
    3. onload只执行最后一个,onready 可以执行多个
    4. jq的ready()方法有两个用法详情见w3c

3. 链式调用

  • 要注意方法的调用者和返回值,可以通过使用this来配合

4. JQ增删查改元素

ps: \巧用反斜杠进行转义
1. $('直接写元素')
2. insertAfter() 吧匹配的元素插入另一个指定的元素集合后面
3. insertBefore() 吧匹配的元素插入另一个指定元素的前面
4. prepend(x) 向元素中每个子元素开头插入x
5. prependTo(x) 项目标的开头插入匹配元素集合中的每个元素
6. remove() 删除
7. hide() 隐藏 display:none
8. show() 显示 display:block/inline
9. dom.attr('x','y') 仅传x的时候是为获取元素x属性的值,传入x,y的时候则代表将x属性的值替换成y,可以x,y传入对象,即为修改多个属性得值
10.dom.removeAttr('x') 删除属性x
11.dom.html() 不传参为获取html,传参为改变html
12.dom.text() 不传参为获取文本,传参为变更文本内容
13.dom.val() 不传为取值,传参为修改值
14.如果select为多选时,设置val()的时候应传入数组
15.dom.children() 仅获取子元素
16.doms.last() 最后一个dom
17.dom.find() 查被选元素的后代元素
18.dom.eq(x) 方法返回带有被选元素的指定索引号x的元素
19.dom.prev() 上一个同级
20.dom.next() 下一个同级
21.dom.siblings() 根据一个子元素获取他所有同级
22.dom.appendTo(dom) 在被选元素的结尾(仍然在内部)插入指定内容
23.dom.append(content) 在被选元素的结尾(仍然在内部)插入指定内容 被追加的content参数,可以是字符、HTML元素标记,还可以是一个返回字符串内容的函数