jquery知识点
on.bind,live,delegate的区别 。 http://blog.csdn.net/lxcao/article/details/52734965
query文档中bind和on函数绑定事件的用法:
.bind(events [,eventData], handler)
.on(events [,selector] [,data], handler)
从文档中可以看出,.on方法比.bind方法多一个参数'selector'
.on的selector参数是筛选出调用.on方法的dom元素的指定子元素,如:
$('ul').on('click', 'li', function(){console.log('click');})就是筛选出ul下的li给其绑定click事件;
那么这个selector参数的好处是什么?
好处在于.on方法为动态添加的元素也能绑上指定事件;如:
$('ul li').on('click', function(){console.log('click');})的绑定方式和$('ul li').bind('click', function(){console.log('click');})一样;我通过js给ul添加了一个li:$('ul').append('<li>js new li<li>');这个新加的li是不会被绑上click事件的
但是我用$('ul').on('click', 'li', function(){console.log('click');}方式绑定,然后动态添加li:$('ul').append('<li>js new li<li>');这个新生成的li被绑上了click事件
$是什么?
$就是jQuery的别称 $就是jquery对象
$.fn.extend() 与 $.extend() 的区别
$.extend(obj);是为了扩展jquery本身,为类添加新的方法,添加静态方法,也就是全局方法。
<script type="text/javascript"> (function($){ $.extend({ speak:function(){ alert("how are you!"); } }); })(jQuery); </script> <script type="text/javascript"> $(document).ready(function(){ $.speak(); }) </script>
$.fn.extend(obj);给JQUERY对象添加方法,把对象挂载到jQuery的prototype属性,来扩展一个新的jQuery实例方法
<script type="text/javascript"> (function($){ $.fn.extend({ speak:function(){ alert("how are you!"); } }); })(jQuery); </script> <script type="text/javascript"> $(document).ready(function(){ $("div").speak(); }) </script>
propotype
prototype就是“一个给类的对象添加方法的方法”,使用prototype属性,可以给类动态地添加方法,以便在JavaScript中实现“继承”的效果.
当你用prototype编写一个类后,如果new一个新的对象,浏览器会自动把prototype中的内容替你附加在对象上。这样,通过利用prototype就可以在JavaScript中实现成员函数的定义,甚至是“继承”的效果。一个简单的示例如下:Number.prototype.add = function(num){return(this+num);}
获取元素的最终background-color http://www.cnblogs.com/walls/p/6368796.html
1、内联样式:内联样式可以通过元素的style属性获取,如果style属性有background-color值,则可以直接获取出来 (暂不考虑!important)
2、外联的层叠样式:DOM2样式规范在document.defaultView中包含了一个getComputedStyle()方法。该方法返回一个只读的CSSStyleDeclaration对象,其中包含特定元素的所有计算样式。

浙公网安备 33010602011771号