jquery怎么将类数组对象转换为数组

如题所述

所谓类数组对象,通俗的说就是具有数组的某些特性,使用上非常类似于数组。

比如使用getElementsByTagName()方法获取的dom元素集合,下面就介绍一下如何利用jQuery将其转换为数组。

代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="" />
<title></title>
<script src="jquery.js"></script>
<script type="text/javascript">
$(function(){
  $("#bt").click(function(){
    var lis=document.getElementsByTagName("li");
    var arr=$.makeArray(lis);
    arr.reverse();
    $(arr).appendTo(document.body);
  })
});
</script>
</head>
<body>
<input type="button" id="bt" value="查看效果"/>
<ul>
  <li>今天天气很冷</li>
  <li>陈雨</li>
</ul>
</body>
</html>

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-10

程序代码如下:

<script type="text/javascript"> 

function test(){ 

alert(arguments) 

arguments = Array.prototype.slice.call(arguments); 

alert(arguments instanceof Array); 

alert(arguments) 

test(1,2,3,4); 

//※※※※※※※※※※※测试2※※※※※※※※※※※※※※ 

var htmlcollection = document.getElementsByTagName("h3"); 

alert(htmlcollection) 

try{ 

htmlcollection = Array.prototype.slice.call(htmlcollection); 

alert(htmlcollection instanceof Array); 

alert(htmlcollection); 

}catch(e){ 

alert(e) 

//※※※※※※※※※※※测试3※※※※※※※※※※※※※※ 

var sheets = document.styleSheets; 

alert(sheets) 

try{ 

sheets = Array.prototype.slice.call(sheets); 

alert(sheets instanceof Array); 

alert(sheets); 

}catch(e){ 

alert(e) 

alert(arrayLike) 

arrayLike = Array.prototype.slice.call(arrayLike); 

alert(arrayLike instanceof Array); 

alert(arrayLike); 

</script>

本回答被网友采纳
第2个回答  2014-11-13
var obj = $( "li" );
var arr = $.makeArray( obj );本回答被提问者和网友采纳
相似回答