JQuery的几个基础操作
先介绍两个函数(数组)
1.$.map(array,function(element,index));
对于数组array中的每个元素,调用上面所示的function(element,index)函数,最终返回一个新的数组。原数组不变。
案例:
<script type="text/javascript">
//索引值大于3的元素值翻倍。
var arr=[2,3,4,5,6,7,8];
var nwArr = $.map(arr,function(ele,index){
return index>3?ele*2:ele;
});
alert(nwArr);
</script>
2.each(array,fn)
遍历数组,return false来退出循环。
主要用来遍历数组,不修改数组,对于普通数组或者“键值对”数组都没有问题。
在each函数中可以直接使用this,表示当前元素的值。
案例:
var dic={"name":'小明','age':23,'gender':'男'};
$.each(dic,function(key,value){
alert(key+'---'+value);
});
JQuery对象、Dom对象
1.转换
Dom对象如果想调用jQuery的方法必须先转换为jQuery对象。
2.Dom对象
文档树中的对象都是dom对象。
3.JQuery对象
把Dom对象包装后就得到了jQuery对象。
4.Dom→jQuery
如何将Dom对象转换为jQuery对象?
$(spObj).get(0).innerHTML
$(spObj)[0].innerHTML
5.直接通过jQuery方式获取页面上的元素
$(‘#id’)、$(‘span’)、$(‘.cls’)、……
通过jQuery对象即可调用:.text()、val()、html()、css(‘color’,’red’)、……。jQuery中大多都是方法少有属性,因为属性很难链式编程。获取值、设置值都是使用的同一个方法,有参数表示设置值,无参数表示取值。
6.哪些不需要转Jquery对象
数组本身就不是Dom对象。不存在与jQuery对象之间的转换。使用jQuery语句可以直接使用数组,就像$.each()或$.map();
补充:通过document.getElementsByTagName()或者document.getElementsByName()获取的返回值是一个类似于数组的值,但不是数组,没有数组特有的方法。
parseInt()\Array这些是不需要转换的。