犀利的jQuery笔记3——jQuery对象与DOM对象互换,解决框架间冲突

锋利的jQuery笔记3——jQuery对象与DOM对象互换,解决框架间冲突

一、jQuery对象与DOM对象相互转换

1.jQuery对象转DOM对象

var $cr  = $("#cr");    //jQuery对象
//转换成DOM对象,索引号从0开始,选取对应节点
var cr = $cr[0];    //或 var cr = $cr.get(0);
alert(cr.checked);    //DOM方法检测这个checkbox是否被选中
 

 

2.DOM对象转jQuery对象

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

 

二、解决与其他js库冲突

1.jQuery在其他库之前导入,可直接使用jQuery,无需调用jQuery.noConflict()函数

<script type="text/javascript" src="./jquery-1.4.2.js"></script>
<script type="text/javascript" src="./prototype-1.6.1.js"></script>
 

 

2.jQuery在其他库之后导入

jQuery.noConflict();  //将变量$的控制权移交给prototype.js
jQuery(function(){  //使用jQuery
    jQuery("p").click(function(){
        alert(jQuery(this).text());
    });
});
$("pp").style.display='none';  //使用prototype
$j = jQuery.noConflict();  //自定义一个快捷给jQuery,将变量$的控制权移交给prototype.js
$j(function(){  //使用jQuery,利用自定义快捷$j
    $j("p").click(function(){
        alert($j(this).text());
    });
});
$("pp").style.display='none';  //使用prototype
 

 

jQuery.noConflict();  //将变量$的控制权移交给prototype.js

(function($){  //定义匿名函数并设置形参为$
    $(function(){  //匿名函数内部$均为jQuery
        $("p").click(function(){alert($(this).text());});
    });
})(jQuery);
$(“pp”).style.display='none';  //使用prototype 
jQuery.noConflict();  //将变量$的控制权移交给prototype.js
jQuery(function($){  //使用jQuery加载页面函数
    $(function(){  //内部继续使用$均为jQuery        
        $("p").click(function(){alert($(this).text());});    
    });
});
$("pp").style.display='none';  //使用prototype