时间:2021-05-26
调用 jQuery 对象的方法很简单:
$('h1').remove();大多数 jQuery 方法都是像上面这样被调用的,这些方法都位于 $.fn 命名空间内,这些方法称为 jQuery 对象方法。
但是也有一些方法不需要依赖于选择器的结果集,这些方法位于 jQuery 命名空间内,这些方法称为 jQuery 核心方法。如果觉得不好理解,记住下面两条即可:
有些对象方法跟核心方法的名称还会相同,例如 $.fn.each 和 $.each,使用的时候需要格外注意。
jQuery 的 $ 命名空间中提供了很多实用方法:
去除字符串两遍的空白:
$.trim(' lots of extra whitespace ');// 返回 'lots of extra whitespace'对数组和对象进行迭代:
$.each([ 'foo', 'bar', 'baz' ], function(idx, val) { console.log('element ' + idx + 'is ' + val);});$.each({ foo : 'bar', baz : 'bim' }, function(k, v) { console.log(k + ' : ' + v);});返回数组中某元素的索引,如果元素不存在则返回 -1
var myArray = [ 1, 2, 3, 5 ];if ($.inArray(4, myArray) !== -1) { console.log('找到了');}用一个对象去扩展另外一个对象:
var firstObject = { foo : 'bar', a : 'b' };var secondObject = { foo : 'baz' };var newObject = $.extend(firstObject, secondObject);console.log(firstObject.foo); // 'baz'console.log(newObject.foo); // 'baz'如果不想改变第一个对象中的值,在 $.extend 的第一个参数中传入一个空对象即可:
var firstObject = { foo : 'bar', a : 'b' };var secondObject = { foo : 'baz' };var newObject = $.extend({}, firstObject, secondObject);console.log(firstObject.foo); // 'bar'console.log(newObject.foo); // 'baz'改变函数的作用域:
var myFunction = function() { console.log(this); };var myObject = { foo : 'bar' };myFunction(); // logs window objectvar myProxyFunction = $.proxy(myFunction, myObject);myProxyFunction(); // logs myObject object再结合事件看如何改变函数的作用域:
var myObject = { myFn : function() { console.log(this); }};$('#foo').click(myObject.myFn); // logs DOM element #foo$('#foo').click($.proxy(myObject, 'myFn')); // logs myObjectJavaScript 本身有类型检测的方法,jQuery 中也有,并且做得更好:
var myValue = [1, 2, 3];// 用 JavaScript 的 typeof 操作符来判断类型typeof myValue == 'string'; // falsetypeof myValue == 'number'; // falsetypeof myValue == 'undefined'; // falsetypeof myValue == 'boolean'; // false// 用恒等于 检测 nullmyValue === null; // false// 使用 jQuery 的方法来判断类型jQuery.isFunction(myValue); // falsejQuery.isPlainObject(myValue); // falsejQuery.isArray(myValue); // true向 HTML 元素添加额外的数据:
$('#myDiv').data('keyName', { foo : 'bar' });$('#myDiv').data('keyName'); // { foo : 'bar' }所要添加的数据可以是任意类型:
$('#myList li').each(function() { var $li = $(this), $div = $li.find('div.content'); $li.data('contentDiv', $div);});// 不需要再去找那些 div 了;// 可以直接从 list 中读取出来var $firstLi = $('#myList li:first');$firstLi.data('contentDiv').html('new content');声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一般在JS页面延迟执行一些方法。可以使用以下的方法jQuery.delay()方法简介http://shawphy.com/2010/11/jquery-del
本文有整理,主要给读者们分享了一些主要的jQueryAPI,其中包括jQuery核心函数和方法、jQuery属性参考手册、jQueryCSS操作、jQuery选
之前做的一些JQUERY应用都是些很基础的编程,对于选择器要求不高,像类似于“$('.class')”、“$('#id')”、“$('#id>.class')”
jQuery的无new构建jQuery框架的核心就是从HTML文档中匹配元素并对其执行操作、回想一下使用jQuery的时候,实例化一个jQuery对象的方法:/
jQuery本身即是为事件处理而特别设计的,jQuery事件处理方法是jQuery中的核心函数。$(function(){...});是如下格式的缩写:$(do