jQ随手笔记

2018-02-07  本文已影响0人  xiaolizhenzhen

随手记录一些小知识点

1.问题:js使用slideToggle如何获取当前隐藏或者开启状态

解决方法:

 $("#segmentGraph").slideToggle("slow",function(){
    if($(this).is(':hidden')){
        // close
    }else{
        // open
    }
});
2.js阻止事件冒泡和浏览器的默认行为

解决方法:

//阻止事件冒泡
function stopBubble(e) { 
    //如果提供了事件对象,则这是一个非IE浏览器 
    if ( e && e.stopPropagation ) 
        //因此它支持W3C的stopPropagation()方法 
        e.stopPropagation(); 
     else 
        //否则,我们需要使用IE的方式来取消事件冒泡 
        window.event.cancelBubble = true; 
} 

//阻止浏览器的默认行为 
function stopDefault( e ) { 
    if ( e && e.preventDefault ) 
        //阻止默认浏览器动作(W3C) 
        e.preventDefault(); 
    else 
        //IE中阻止函数器默认动作的方式
        window.event.returnValue = false; 
    return false; 
}
3.使用对象作为函数参数
4.js中size()和length的区别

size()是方法:是jQuery提供的函数,只能在jQuery下使用。
length是属性: 定义在dom和javascript中,不使用jQuery也可以使用。

使用情况:
1.针对标签对象元素,比如数html页面有多少个段落元素<p></p>,那么此时的$("p").size() == $("p").length
2 .计算一个字符串的长度或者计算一个数组元素的个数
那么此时只能用length而不能用size()(size()在1.8之后就删除了)

5.DOM节点转jQuery对象,jQuery对象转DOM节点

DOM节点转jQuery对象

var v = document.getElementById("v"); //DOM对象
var $v = $(v); //jQuery 对象

jQuery对象转DOM节点
两种转换方式讲一个 jQuery 对象转换成 DOM 对象: [index] 和 .get(index);
(1) jQuery 对象是一个数据对象,可以通过 [index] 的方法,来得到相应的 DOM 对象。

var $v = $("#v"); //jQuery 对象
var v = $v[0]; //DOM 对象
alert(v.checked); //检测这个checkbox是否被选中

(2) jQuery 本身提供,通过.get(index) 方法得到相应的 DOM 对象

var $v = $("#v"); //jQuery 对象
var v = $v.get(0); //DOM对象 ( $v.get()[0] 也可以 )
alert(v.checked); //检测这个 checkbox 是否被选中

6.$.each()和$(selector).each()的区别

$.each(object, [callback])
参数详解:
object:需要例遍的对象或数组。
callback:每个成员/元素执行的回调函数。
如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略。

$(selector).each(callback)
参数详解:
callback:对于每个匹配的元素所要执行的函数.
返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。
返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。

使用场景:
$().each 在dom处理上面用的较多
$.each通常处理数组或者对象
更多参考:关于JQuery中的$.each()与$().each的理解

上一篇下一篇

猜你喜欢

热点阅读