# jQuery一些常用函数的小结
# jQuery.map(arr | obj, callback)
将一个数组中的元素转换到另一个数组中。
示例1:将原数组中每个元素加 4 转换为一个新数组。
$.map([0,1,2], function(n) {
return n + 4;
});
结果:[4, 5, 6]
示例2:原数组中大于 0 的元素加 1,否则删除。
$.map([0,1,2], function(n) {
return n > 0 ? n + 1 : null;
});
结果:[2, 3]
# data([key], [value])
在节点上存取数据,获取 H5 自定义属性的值。
示例:
<div data-content="Hello World!">测试获取 H5 自定义属性的数据。</div>
$('div').data('content'); // Hello World
# prop(name | properties | key, value | fn)
获取匹配的元素集中第一个元素的属性(property)值或设置每一个匹配元素的一个或多个属性。
示例1:获取复选框是否被选中。
$('input[type=checkbox]').prop('checked')
示例2:反选页面上所有的复选框。
$("input[type='checkbox']").prop("checked", function(index, value) {
return !value;
});
# jQuery.param(obj, [traditional])
将表单元素数组或者对象序列化。是.serialize()的核心方法。
var params = { width:1680, height:1050 };
var str = jQuery.param(params);
$("#results").text(str);
结果:width=1680&height=1050
# jQuery.inArray(value, array, [fromIndex])
确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回-1)。
var arr = [4, "Pete", 8, "John"];
$.inArray("John", arr); // 3
$.inArray(4, arr); // 0
$.inArray("David", arr); // -1
$.inArray("Pete", arr, 2); // -1
# index([selector | element])
搜索匹配的元素,并返回相应元素的索引值,从0开始计数。
<ul>
<li id="foo">foo</li>
<li id="bar">bar</li>
<li id="baz">baz</li>
</ul>
$('li').index(document.getElementById('bar')); // 传递一个DOM对象,返回这个对象在原先集合中的索引位置
$('li').index($('#bar')); // 传递一个jQuery对象
$('li').index($('li:gt(0)')); // 传递一组jQuery对象,返回这个对象中第一个元素在原先集合中的索引位置
$('#bar').index('li'); // 传递一个选择器,返回#bar在所有li中的做引位置
$('#bar').index(); // 不传递参数,返回这个元素在同辈中的索引位置。
# closest(expr | object | element)
从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素。
<ul>
<li>1.1</li>
<li>1.2</li>
</ul>
<ul>
<li>2.1</li>
</ul>
$('li').click(function() {
var ul = $(this).closest('ul');
ul.css('color', 'red');
});
# toggleClass(class | fn[,sw])
如果存在(不存在)就删除(添加)一个类。
<p>Hello World!</p>
<button>点我</button>
.red-font {
color: red;
}
$('button').click(function() {
$('p').toggleClass('red-font');
});
# clone([Even[,deepEven]])
克隆匹配的DOM元素并且选中这些克隆的副本。
示例:创建一个按钮,他可以复制自己,并且他的副本也有同样功能。
<button>Clone Me!</button>
$("button").click(function() {
$(this).clone(true).insertAfter(this); // 连同事件一起拷贝
});
# on(events, [selector], [data], fn)
在选择元素上绑定一个或多个事件的事件处理函数。(统一事件绑定)
function myHandler(event) {
alert(event.data.foo);
}
$("p").on("click", {foo: "bar"}, myHandler);
$("form").on("submit", function(event) {
event.preventDefault(); // 阻止表单提交
});
(完)