犀利的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