构建功能型表单
刚开始看代码就发现了一个从来没见过的标签,<fieldset>,这个标签是专门用来修饰表单元素的,当表单在这个标签里面时,浏览器就会以特殊的方式来显示它们,它们可能有特殊的边界之类的。
.end()方法,将当前状态向后退一步,返回最后一个遍历方法执行之前的那一组元素,用于平时扩展连缀的灵活度,同时也减少选择器的使用。
.replace()方法的正则表达式:例,/^\((.+)\)$/,这个用于匹配将()里面的数据拿出来,就像”(input)".replace(/^\((.+)\)$/,'$1')后,得到的数据是input。它是怎么实现的呢?首先,正则表达式是被包括在这样的/ /两个正斜杠中,里面是正则表达式的主体,接着一个^表示字符由这里开始,也就是说后面表示跟着的是字符串的开始位置,然后一个反斜杠(转义)加上左括号,即\(代表着告诉解释程序按照字面意义解释后面的字符,即向程序说明它只是一个(,因为在正则表达式中([{\^$|)?*+. 都是其的一部分,所以需要转义,接下来看这组符号(.+),括号中的匹配的数据是要拿出来的,然后在.replace()第二个参数中设置其格式,正如例子中'$1'(说明这里的$1是已经定好的,用于返回和设定格式,它还有$1,$2....$9...,多少个我不清楚,),那么它就是直接输出$1,如果是这样'aa $1',那么它就会输出aa $1了,说回刚刚的表达式,中间的.与+所表达的意思是前者代表着任意字符,后者代表着前者可以有一个或者多个,接着就到了这两个\),这与前面一样,然后就到了$,这代表着结束了。所以我们由这个正则表达式去除了匹配字符的括号。
.andSelf()方法,添加先前的堆栈元素集合到当前组合,即用了这个方法后的操作,对于前面的所筛选出来的都会有效果,但是这个方法已经过时了,现在是addBack()的一个别名。
:checkbox,匹配所有的复选框。
在复选框元素中可以使用.checked来判断是否选中,其是dom元素。
.bulr()方法,当用户失去焦点的时候触发该事件。.focus()获得焦点时触发该事件
.parents()获得当前匹配元素集合中的每一个元素的祖先元素。
.push()方法,向数组末尾添加一个或多个元素,其与.pop()方法提供数组以先进后出栈的功能。
.unshift()向数组开头添加一个或多个元素,不过无法在ie中正常工作。
.prop()在检索和更改dom属性,如checked,selected或disable状态时用.prop()方法更好,用.attr()可能出问题,这其中关于attribute与property的不同。这个方法是从1.6版本后出现。
.val()方法,返回或设置被选元素的值,大多用于input元素,其返回的不是标签之间的值。
.keyup()方法,按下按键时出发事件。event.which,event.keyCode是指示按了哪个键或按钮。按钮事件发生顺序:keyDown-->keyPress-->keyUp。
.mouseover()鼠标位于元素上方时触发,子元素亦会触发。mouseout()鼠标移开时触发,mouseenter鼠标穿过其时,触发事件,但穿过子元素不会触发。
.keypress()事件不提供.keyCode属性,但提供了.charCode属性,它保存的是代表刚才按键的ASCII字符。
.change()方法,此事件仅限于<input><textarea><select>,对于下拉选择框,复选框和单选按钮,当用户用鼠标作出选择,该事件立即触发,但对于其他类型的input元素,该事件将推迟,直到元素失去焦点才触发。