jQuery 프로그래밍_jquery의 일부 핵심 메서드 소개

WBOY
풀어 주다: 2016-05-16 15:45:06
원래의
1708명이 탐색했습니다.

jQuery 객체를 호출하는 방법은 매우 간단합니다.

$('h1').remove();

로그인 후 복사

대부분의 jQuery 메소드는 위와 같이 호출되며, 이러한 메소드는 $.fn 네임스페이스에 위치합니다.

그러나 선택기의 결과 집합에 의존하지 않는 일부 메서드도 있습니다. 이러한 메서드는 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 object

var 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'; // false
typeof myValue == 'number'; // false
typeof myValue == 'undefined'; // false
typeof myValue == 'boolean'; // false

// 用恒等于 检测 null
myValue === null; // false

// 使用 jQuery 的方法来判断类型
jQuery.isFunction(myValue); // false
jQuery.isPlainObject(myValue); // false
jQuery.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');

로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿