Jquery對象與DOM對象之間的轉換


通過document獲取的對象得到的是DOM對象,而Jquery通過$獲取的對象得到的是Jquery對象,兩者之間存在區別的。DOM對象才能使用DOM中的方法,jQuery對象是不可以用DOM中的方法。比如DOM對象能調用getContext('2d')獲取上下文,而Jquery對象不行,必須轉換成DOM對象才行。那么兩者之間怎么進行轉換呢?

  一、Jquery對象轉換成DOM對象

  Jquery對象是一個數組對象,可以通過下標獲取,如:

  var jqueryObj = $('#objId');  //得到Jquery對象

  var domObj = jqueryObj[0];  //通過下標得到DOM對象,jqueryObj[0]等同於jqueryObj.get(0)

  二、DOM對象轉換成Jquery對象

  DOM對象只需要用$()將其包含起來即可,如:

  var domObj = document.getElementById('objId');  //得到DOM對象

  var jqueryObj = $(domObj);  //轉換成Jquery對象

 

  注:document或Jquery中通過className或TagName獲取的數組對象,應該通過循環逐個轉換。

  

實例:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<script type="text/javascript" src="../js/jquery-2.1.4.js"></script>
<title></title>
</head>
<body>
<div id="div1" name="testDiv"></div>
<div id="div2" name="testDiv"></div>
<div id="div3" name="testDiv"></div>
</body>
<script>
console.log($('#div1')); //得到的是JQuery對象
//等同於
var div1Obj = document.getElementById('div1'); //得到的是DOM對象
console.log($(div1Obj));

console.log($('#div1')[0]);
//等同於
console.log($('#div1').get(0));
//等同於
console.log(div1Obj);

var divArray = document.getElementsByTagName('div');
console.log(divArray);
console.log($(divArray));
console.log($('div'));

for(var index in divArray){
if(index<=divArray.length){
console.log(divArray[index]);
}
}
//等同於
for(var index=0;index<divArray.length;index++){
console.log(divArray[index]);
}
//等同於
$('div').each(function(){
console.log(this);
});
</script>
</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM