表格操作
整一章以两个表格为基础作样式操作,其中包括排序、分页、筛选,还有外观的设计。
在进行排序时,我惊讶的发现原来<thead><tbody>这两个标签,我一直以来只知道<td><tr>,才发现原来自己的前端知识是如此之薄弱,后端也是惨不忍睹。
.get()方法与.eq(),前者是返回dom元素,在没有参数时,是返回所有元素,有点像转化,而加了参数时,则是将特定的节点转化为dom元素,后者则是返回jquery对象,即第几个对象。
.sort()方法,这是原生态的javascript方法。其中可以接受一个比较函数作为参数,然后根据返回的比较结果,来对数组进行排序,例array.sort(function(a,b){...}),如果a应该排在前面时就返回一个负数,要是b应该在前面时就返回一个正数,要是两个的顺序无所谓就返回0。比较器函数工作量大,耗时多,所以在做操作时,尽可能的精简方法中的操作。用这个方法可以实现排序
jquery提供的数据存储机制:.data()与.removeData(),这样的存储方式可以在ie下避免内存泄漏问题。
.slice(A,B),jquery中的截取数据的方法,即选择[A,B)内的所有元素,用这个方法可以直接实现分页。
自定义事件数据,就是为的了运行时和实际数据不一致而出现的,例.bind('click',{newPage:page},function(){...}),这里,newPage为变量名,page为输入的变量。这样设置后,循环时的数据也就不会丢失了。
伪类:has()检测某个元素是否在另一个元素中,如tr:has(th)就是表示,th在不在tr里面。
伪类:nth-child()这是一个很有用的选择器。
可参考这里
event.pageX、pageY这两参数不是相对与浏览器,当鼠标停止不动,滚轮移动时,这两个参数会发生改变。
.mousemove()移动时触发的事件。
.call()方法,javascript原生态函数,可以将其他方法与本方法设置为相同的上下文,如function hide(){showTooltip.call(this,event)},那么此时showTooltip中的this指代的就是hide()方法中的this.
在表格中最好使用没有动画效果的.show()和.hide()方法,因为浏览器为表格行设置的可见display属性的值不同,所以对表格应用动画存在特殊的障碍。
伪类:visible选取当前可见的元素