一个字防
因为jQuery源码内部是通过jQuery.map(this, fn)来调用的,所以this就是fn的参数。
.parent(expr) - 查找父亲,只查一级,正宗的父亲,表达式应该很少用
.parents(expr) - 加了复数,就变成多个父亲了,从父亲开始查,一直往上查,查到根元素,然后通过expr表达式过滤
<script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script> 我试了一下 确实能用
jquery对象 dom对象混淆了
你没有去掉重复的className
补充楼上的,nodetype的12种类型.
1 Element 一个元素
2 Attr 一个属性
3 Text 一个元素的文本内容 或属性
4 CDATASection 一个文档的CDATA部分(文本将不会被解析器解析)
5 Entity 参考手册 实体引用
6 Entity 一个实体
7 ProcessingInstruction 一个处理指令
8 Comment 一个注释
9 Document 整个文档(DOM树的根节点)
10 DocumentType 为文档实体提供接口
11 DocumentFragment 表示邻接节点和它们的子树。
12 Notation 代表一个符号在DTD中的声明
代码要严谨些
666
就只是想给你说明一下怎么用而已
jquary关于parent()方法的语法就是这样啊$(selector).parent();写在里面一般是筛选条件啊
9代document节点,它是最高节点,如果不做判断则无法继续往上查找父级节点
有的是视频,有的是代码
只有1-1有视频,其他都是代码,你完成他提供的任务就可以了.
jq对象转dom元素啊 直接的方法就是选择[0], 可以查看一下得到的jquery类数组对象的第一个是不是就是dom元素,可以直接打印一下$('body')看看输出什么,再看一下$('body')[0],输出什么,jquery对象可以直接使用jquery的方法,
如果没有匹配到符合条件的class类名就令classes为空数组
cur = cur[dir],这个是不断赋值的,比如说cur=cur[nextSibling],就是不断地查找之后的兄弟元素,第一次查找是cur=cur[dir],第二次cur=(cur[dir])[dir] 差不多就是这个道理
该元素的节点类型不是元素节点
因为P2 P3都绑定了事件,冒泡和捕获的时候都会触发相应的捕获或者冒泡的监听函数,然后等到到了目标元素(P2 P3)的时候,就会去根据具体情况,判断是否满足条件,执行events数组里的函数。
sibling() 方法,不包括本身 排除这种情况
支持啊
有缺点啊
1.需要定义很多代码:1.协议定义;2.controller的delegate属性;3.在delegate本身中实现delegate方法定义
2.在释放代理对象时,需要小心的将delegate改为nil。一旦设定失败,那么调用释放对象的方法将会出现内存crash
3.在一个controller中有多个delegate对象,并且delegate是遵守同一个协议,但还是很难告诉多个对象同一个事件,不过有可能。(其他博客上贴的*-*)
防止parent是null或者未定义