国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery編程中的一些核心方法簡介

2024-05-06 16:24:30
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了jQuery編程中的一些核心方法,jQuery是當下人氣最高的JavaScript庫,需要的朋友可以參考下
 

調用 jQuery 對象的方法很簡單:

$('h1').remove();

大多數 jQuery 方法都是像上面這樣被調用的,這些方法都位于 $.fn 命名空間內,這些方法稱為 jQuery 對象方法。

但是也有一些方法不需要依賴于選擇器的結果集,這些方法位于 jQuery 命名空間內,這些方法稱為 jQuery 核心方法。如果覺得不好理解,記住下面兩條即可:

  1.     所有 jQuery 選擇器的方法都位于 $.fn 命名空間內。
  2.     $ 內的方法一般都是一些實用的功能性方法,這些方法不依賴選擇器,這些方法的參數和返回值也都大不相同。

有些對象方法跟核心方法的名稱還會相同,例如 $.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 myObject

JavaScript 本身有類型檢測的方法,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');
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 本溪市| 绩溪县| 昂仁县| 黄梅县| 南通市| 成安县| 正阳县| 天等县| 桃源县| 万年县| 红桥区| 韩城市| 宣恩县| 仪征市| 碌曲县| 永吉县| 卓资县| 建水县| 潮安县| 抚宁县| 襄城县| 西盟| 汉源县| 五常市| 沅江市| 保靖县| 咸宁市| 东阿县| 竹山县| 泰兴市| 高平市| 柳林县| 木兰县| 裕民县| 师宗县| 阆中市| 沁阳市| 霍林郭勒市| 舒城县| 新竹市| 肥西县|