Jquery中prop与attr的区别
prop获取的值是状态值会随着状态的变化而变化,attr取得的值是属性值不会随着状态变化而变化。如下面这段代码:
无论是否选中这个复选框,他都会console一个checked,而如果换成prop则会随着checkbox是否被选中而变化,选中则返回true,没有选中则返回false。
checked,selected,disabled等表单元素的状态,最好使用.prop()
方法。selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked,和defaultSelected这些属性,就应该使用.prop()
方法进行恢复属性值。
prop()函数的结果:
1.如果有相应的属性,返回指定属性值。
2.如果没有相应的属性,返回值是空字符串。
attr()函数的结果:
1.如果有相应的属性,返回指定属性值。
2.如果没有相应的属性,返回值是undefined。
遍历
祖先:
1,parent():返回所选元素的直接父元素(仅一个)。
2,parents(X):返回所选元素的所有祖先元素,一路向上直到。也可以传入参数X进行筛选。
3,parentsUntil(X):返回介于所选元素与X之间的所有祖先元素,(此元素,X)开区间。
(如果没有X则一直到html为止)
后代:
1,children(X):返回所选元素的所有直接子元素(仅子一代,不包括孙子及其之后元素后的元素)。也可以传入参数X进行筛选。
2,find(X):向所选元素的子元素中一路向下寻找符合X要求的子元素,直到最后一个子元素为止。
同胞:
1,siblings([X]):返回被选元素的所有同胞元素(不包含自身)。也可以传入参数X进行筛选。
2,next():返回被选元素的下一个同胞元素(仅返回一个元素)。——>>pre()向前寻找
3,nextAll(X):返回被选元素的所有后面的同胞元素。也可以传入参数X进行筛选。——>>preAll()向前寻找
4,nextUntil(X):向被选元素到X的所有同胞元素(同级向后寻找),如果X不存在的话就取后面的全部同胞元素。 ——>>preUntil(X)向前寻找
过滤
1,first():返回被选元素群的首个元素。
2,last():返回被选元素群的最后一个元素。
3,eq(X):返回被选元素中带有指定引索号的。(相当于一个元素群被输入为一个数组,而这个索引号就是数组的索引,也是从0开始直到length-1)。
4,filter(X):传入一个标准X,不匹配这个标准的元素会从这个集合中删除,匹配的元素会被返回。(相当于就是返回匹配的元素)
5,not(X):传入一个标准X,返回不匹配标准的所有元素。