Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Прежде чем использовать jQuery, мы должны сначала понять, что такое jQuery и что он может делать (иначе зачем нам его использовать).
jQuery — очень популярная быстрая, небольшая и мощная библиотека JavaScript с открытым исходным кодом. Как и официальное утверждение — «Пишите меньше, делайте больше», оно очень упрощает реализацию нашего часто используемого обхода HTML-документов, операций DOM, обработки событий, эффектов анимации, Ajax, методов инструментов и других функциональных кодов. Что еще более важно, он также обеспечивает нам кроссбраузерную совместимость. Большую часть времени моей маме больше не нужно беспокоиться о моих проблемах с совместимостью JS (из-за ошибок браузера и других факторов jQuery не может достичь 100% кроссбраузерной совместимости, и чиновник обычно сделал специальные инструкции для этих нескольких API, и Такая ситуация встречается редко и поэтому ее можно игнорировать).
Вообще говоря, вам нужно написать десятки строк или даже больше собственного JS-кода для реализации функций с помощью jQuery, для этого вам понадобится всего несколько простых строк или даже одна строка кода; Кроме того, jQuery также имеет гибкий механизм расширения плагинов, который позволяет третьим лицам разрабатывать плагины на основе jQuery, и даже вы можете быстро написать свой собственный плагин. Это значительно повышает эффективность разработки интерфейсных разработчиков. Таким образом, более 65% из 10 000 крупнейших веб-сайтов в мире, таких как Google, Microsoft, IBM и Facebook, используют jQuery, а миллионы других веб-сайтов также используют jQuery.
Использовать jQuery очень просто,Нам просто нужно показать js-файл библиотеки jQuery,Затем используйте его напрямую。Вы можете пойти вОфициальный сайтскачатьjQueryбиблиотекаjsдокумент,Вы также можете напрямую ввести URI файла на HTML-странице следующим образом.
<!-- Представляем js-файл библиотеки jQuery -->
<script src="//code.jquery.com/jquery-1.11.1.js" type="text/javascript"></script>
<!-- Написание JS-кода и использование jQuery -->
<script type="text/javascript">
// Следующий код изменит значение элемента с идентификатором имени пользователя на «Привет. CodePlayer!"。
jQuery("#username").val("Hello CodePlayer!");
</script>
Файлы js библиотеки jQuery обычно имеют две версии: одна — jquery-version.js (здесь версия указывает конкретный номер версии, он же ниже), а другая — jquery-version.min.js.
Первый представляет собой версию исходного кода библиотеки jQuery. Он содержит аннотацию. Рекомендуется использовать этот файл в среде разработки, чтобы облегчить отладку или чтение исходного кода.
Последний представляет собой сжатую версию первого. Он удаляет избыточные комментарии, пустые символы и другую информацию, а также сокращает имена переменных для уменьшения размера файла js. Рекомендуется использовать этот файл в производственной среде, чтобы браузеры пользователей могли быстрее загружать библиотеку jQuery.
Многие известные отечественные производители предоставляют услуги ускорения CDN для файлов библиотеки jQuery. Вы можете напрямую ввести соответствующую ссылку на страницу и напрямую использовать предоставленную ими библиотеку jQuery без необходимости размещать файл библиотеки jQuery на своем собственном сервере и затем импортировать его. . Ниже приведены несколько часто используемых CDN jQuery (все они предоставляют несколько версий библиотеки jQuery, вы можете изменить часть номера версии самостоятельно или удалить «.min», чтобы использовать версию исходного кода): Гугл: https://ajax.proxy.ustclug.org/ajax/libs/jquery/1.11.1/jquery.min.js Microsoft: http://ajax.microsoft.com/ajax/jquery/jquery-1.11.1.min.js. Baidu (рекомендуется): http://libs.baidu.com/jquery/1.11.1/jquery.min.js или http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js 360: http://libs.useso.com/js/jquery/1.11.1/jquery.min.js
Здесь мы лишь кратко представляем, как работает jQuery。существоватьjQueryБиблиотека фактически определяетjQuery()
метод,этодаjQueryбиблиотека核心。我们调用该метод并传入指定из参数,Вы можете вернуть объект экземпляра jQuery,Этот объект содержит один или несколько соответствующих элементов DOM. затем,мы можем Использование Методы объекта jQuery для работы с элементом DOM, которому он соответствует.
Методов, предусмотренных в объекте jQuery, нам достаточно для выполнения практически всех операций с DOM.
Примечание. Поскольку вы получаете объект jQuery, вы можете использовать только Методы объекта jQuery, но не может вызывать методы самого элемента DOM (объекта Element) в объекте jQuery (например, getElementById()), если вы каким-либо образом не преобразовали его в элемент DOM.
также,для Чтобы максимально сократить объем кода,jQueryКу ХуандляфункцияjQueryОпределена переменная-псевдоним, они абсолютно одинаковы (jQuery ===), поэтому мы также можем использовать
// $ — это псевдоним jQuery, поскольку JS поддерживает использование $ в качестве имени переменной, а $ короче и проще в написании.
$("#username").val("Hello CodePlayer!");
С момента выпуска jQuery 1.0 он несколько раз обновлялся, добавляя множество новых свойств и методов, а также удаляя несколько устаревших свойств и методов. Последняя версия 1.x на данный момент — 1.11.1. Кроме того, у jQuery также есть версия 2.x (последняя версия — 2.1.1). Ее API такой же, как и у 1.x, но jQuery 2.x больше не поддерживает IE 6 ~ IE 8. Если вы хотите быть совместимым с IE 6 ~ IE 8, рекомендуется использовать версию 1.x.
Обычно рекомендуется использовать последнюю версию jQuery. Если вам нужно использовать удаленное свойство или метод, вы можете использовать версию jQuery, включающую это свойство или метод.
如果我们существовать<head>введено вjQuery库документ,И напишите соответствующий код jQuery для управления элементами DOM. Это может привести к тому, что операция не будет успешной.,потому чтодляв это время<body>Возможно, элементы внутри еще не загружены.,То есть соответствующий элемент получить невозможно. поэтому,Обычно мы обращаемся к нашимjQuery代码写существоватьready()
事件функциясередина。ready()
функцияиз作用相当于window.onload,Он используется для выполнения соответствующей функции после того, как текущий документ готов к загрузке.
$(document).ready(function(){
// Здесь мы пишем код, который хотим выполнить, когда DOM будет готов.
});
Если этот метод записи кажется вам немного затруднительным, вы также можете использовать следующий сокращенный метод:
// $( function ) да $(document).ready( function ) аббревиатура для
$( function(){
// Здесь мы пишем код, который хотим выполнить, когда DOM будет готов.
} );
jQueryизready()
функция Может重复调用,Связанные функции обратного вызова будут выполняться последовательно в порядке привязки после того, как DOM будет готов. также,ready()
иwindow.onloadне совместимо,Так что не смешивайте их.
jsдокументи内嵌изjs代码一般Нет建议放существовать<head>в тегах,и应该放существовать内容主体из结束标签</body>До。Это позволяет браузеру сначала загружать содержимое страницы.,Затем загрузите, проанализируйте и выполните код js. Это позволяет пользователям с более низкой скоростью Интернета быстрее видеть отображаемое содержимое страницы.,Улучшите пользовательский опыт.
Выше мы представили некоторые базовые знания о jQuery, а теперь давайте узнаем больше о том, как действительно начать работу с jQuery.
В собственном DOM JS, если мы хотим работать с элементами DOM, мы должны сначала получить соответствующие элементы (getElementById(), getElementsByTagName() и т. д.), а затем работать с этими элементами.
Аналогично, jQuery также необходимо сначала выбрать необходимые элементы DOM, а затем работать с этими элементами. Давайте сначала посмотрим, как jQuery получает необходимые элементы.
В jQuery мы обычно идентифицируем совпадающие элементы через строку, например:
$("#uid"); // Выберите один элемент с атрибутом id «uid».
$("p"); // Выбрать все p элементов
$(".test"); // Выберите все элементы с именем класса CSS «test».
$("[name=books]"); // Выбрать всеnameсвойстводля"books"изэлемент
Очень ли это похоже на селекторы CSS? Да, jQuery получает элементы, сопоставляя соответствующие элементы через строку, похожую на селектор CSS. Обычно мы называем это селектором jQuery (селектором). Почти все селекторы CSS можно использовать в качестве селекторов jQuery. Если для каких элементов селектор CSS эффективен, соответствующий селектор jQuery может выбирать эти элементы.
Подобно селекторам CSS, селекторы jQuery также поддерживают использование нескольких селекторов в любой комбинации.
// Несколько селекторов, разделенных пробелами и указанными символами, будут соответствовать элементу, представленному последним селектором, который имеет указанную связь с первым.
$("#uid span"); // Выбирает все дочерние элементы диапазона элемента с идентификатором «uid».
$("p > span"); // Выбирает все элементы диапазона, которые являются потомками элемента p.
$("div + p"); // Выберите родственный элемент p, следующий сразу за элементом div.
$("div p span"); // Выбирает всех потомков элемента div и потомков элемента span.
// Множественные селекторы без пробелов будут соответствовать элементам, которые удовлетворяют обоим условиям селектора.
$("p#uid"); // Выберите элемент p с атрибутом id «uid».
$("div.foo"); // Выберите все элементы div с именем класса CSS «foo».
$(".foo.bar"); // Выбирает все элементы с именами классов CSS «foo» и «bar».
$("input[name=books][id]"); // Выбрать всеnameсвойстводля"books"и иметьidсвойствоизэлемент
Кроме того, чтобы упростить использование, в jQuery также настроен уникальный селектор:
// Уникальный селектор jQuery, конечно же, можно использовать в любой комбинации с другими селекторами.
$(":checkbox"); // Выбрать все элементы флажка
$(":text"); // Выбрать все элементы ввода типа текста
$(":password"); // Выберите все элементы ввода типа пароля.
$(":checked"); // Выбрать все выбранные переключатели, флажки, элементы опций
$(":selected"); // Выбрать все выбранные элементы опции
$(":input"); // Выбрать все элементы управления формой (все элементы ввода, текстовое поле, выбор, кнопки)
jQuery имеет больше селекторов,Пожалуйста, обратитесь непосредственно кСписок селекторов jQuery。
когда мы используем$("строка выбора")
匹配到指定изэлемент后,вернет объект jQuery. Этот объект содержит все соответствующие элементы DOM. Если указанный селектор не соответствует ни одному элементу,вернется一индивидуальный空изjQueryобъект(не содержит никакихDOM-элемент)。
Конечно, jQuery также может напрямую преобразовывать один или несколько элементов DOM в объекты jQuery, чтобы мы могли работать с ними, используя методы объекта jQuery.
var uid = document.getElementById("uid");
var ps = document.getElementsByTagName("p");
var unames = document.getElementsByName("uname");
var domsArray = [ document.getElementById("uid1"), document.getElementById("uid2") ];
// Преобразуйте указанные выше элементы DOM непосредственно в объекты jQuery.
$( uid );
$( ps );
$( unames );
$( domsArray );
$( ); // Никакие параметры не передаются, и возвращается пустой объект jQuery (не соответствует ни одному элементу).
jQuery также поддерживает преобразование строк HTML во временные элементы DOM и включение их в возвращаемый объект jQuery.
// Вы также можете Использование Методы объекта jQuery работают с этими временными элементами DOM или вставляют их в документ в указанном месте.
$('<span></span>'); // Содержит временный элемент диапазона.
$('<span/>'); // Содержит временный элемент диапазона.,и上一行代码из作用такой же
$('<div id="mydiv"><p class="foo bar">Hello CodePlayer</p></div>'); // Содержит временный элемент div со встроенным в него элементом дочернего узла p.
Иногда мы получали объект jQuery, соответствующий указанному элементу DOM. Но нам нужно фильтровать указанные элементы на основе объекта jQuery. Например: выберите в коллекции только те элементы, которые соответствуют определенным условиям, удалите элементы в коллекции, которые соответствуют определенным условиям, и найдите дочерние элементы, родительские элементы, родственные элементы, предыдущие элементы, следующие элементы и т. д. текущего соответствующего элемента, который иметь с ним особые отношения.
jQuery предоставляет нам ряд методов фильтрации документов, которые позволяют нам быстро выбирать нужные элементы.
// Все следующие методы возвращают новый объект jQuery, содержащий отфильтрованные элементы.
$("ul li").eq(1); // Селектул liсередина匹配из索引顺序для1изэлемент(То естьда Нет.2индивидуальныйliэлемент)
$("ul li").first(); // Селектул Первый совпавший элемент в li
$("ul li").last(); // Селектул Последний совпавший элемент в li
$("ul li").slice(1, 4); // Выберите № 2 ~ 4 элемента
$("ul li").filter(":even"); // Селектул Все элементы в li в нечетном порядке
$("div").find("p"); // Выберите все элементы-потомки p всех элементов div.
$("div").children(); // Выберите все элементы-потомки всех элементов div.
$("div").children("p"); // Выберите все элементы-потомки p всех элементов div.
$("span").parent(); // Выберите родительский элемент для всех элементов диапазона.
$("span").parent(".foo.bar"); // Выбирает родительские элементы всех элементов диапазона с именами классов CSS «foo» и «bar».
$("#uid").prev(); // Выберите одноуровневые элементы непосредственно перед элементом с идентификатором uid.
$("#uid").next(); // Выберите одноуровневые элементы, следующие сразу за элементом с идентификатором uid.
jQuery имеет множество методов фильтрации.,Он даже позволяет настраивать функции для фильтрации,Пожалуйста, обратитесь кСписок методов фильтрации документов jQuery。
Аналогично, если результаты фильтра не соответствуют ни одному элементу DOM, возвращается пустой объект jQuery.
После того как мы выберем указанные элементы DOM и инкапсулируем их в объекты jQuery, мы сможем работать с этими элементами. Конечно, прежде чем заточить меч, нам следует сначала понять некоторые принципы работы jQuery DOM.
Для новичков это особенно важно отметить. Все упомянутые выше методы выбора элементов возвращают не элементы DOM (объекты Element), а объекты jQuery, которые только инкапсулируют все элементы DOM. Далее, когда мы выполняем операции с DOM, нам также следует использовать методы объекта jQuery вместо методов объекта Element. Конечно, объекты jQuery также можно конвертировать в элементы DOM, о чем мы упомянем позже.
Чтобы упростить использование, jQuery предоставляет краткий API-интерфейс для операций с DOM, и его методы часто являются «чтением и записью». То есть метод можно использовать как для операций чтения, так и для операций установки. Если не передается параметр, представляющий значение, это представляет собой операцию получения, которая возвращает полученные данные. Если передается параметр, представляющий значение, он представляет собой операцию установки, которая устанавливает значение указанного атрибута; DOM-элемент.
// Возвращает объект jQuery, соответствующий элементу с идентификатором «имя пользователя».
var uid = $("#username");
// Если параметр value не передан, возвращается значение атрибута value первого соответствующего элемента.
var value = uid.val();
// Передается параметр value, и для всех соответствующих элементов устанавливается значение «CodePlayer».
uid.val("CodePlayer");
// Возвращает объекты jQuery, соответствующие всем элементам div, содержащим имя класса CSS «foo».
var div = $("div.foo");
// Если параметр значения не передается, возвращается элемент значения первого соответствующего элемента.
var fontSize = div.css("font-size");
// Передается параметр value, а для стиля шрифта всех соответствующих элементов устанавливается значение «14 пикселей».
div.css("font-size", "14px");
Изучая операции DOM в jQuery, мы должны сначала понять принцип «Сначала установи все». Почти все методы работы DOM объектов jQuery соответствуют принципу «Сначала установил все». Короче говоря, предполагая, что текущий объект jQuery соответствует нескольким элементам, если вы используете метод объекта jQuery для получения данных («чтение» данных), вы получите данные только первого соответствующего элемента, если вы используете метод объекта jQuery для; установить данные элемента («записать» данные), все соответствующие элементы будут установлены.
var $lis = $("ul li"); // Соответствует всем элементам-потомкам li элемента ul.
var className = $lis.attr("class"); // Получите только атрибут класса первого соответствующего элемента li.
$lis.attr("class", "codeplayer"); // 将所有匹配изliэлементизclassсвойство设для"codeplayer"
jQuery также известен своим элегантным стилем цепного программирования, например:
// jQueryизстиль цепного программирования
$("div").find("ul").addClass("menu").children().css("margin", 0).hide();
// нижеда上述代码из分解描述
$("div") // Возвращает объект jQuery, соответствующий всем элементам div.
.find("ul") // Возвращает объект jQuery, соответствующий всем дочерним элементам ul внутри этих элементов div.
.addClass("menu") // Добавляет имя класса CSS «меню» к этим элементам ul и возвращает сам текущий объект.
.children() // Возвращает объект jQuery, соответствующий всем элементам-потомкам в этих элементах ul.
.css("margin", 0) // Установите стиль CSS «margin:» для этих элементов-потомков. 0" и возвращает сам текущий объект
.hide(); // Скройте эти элементы-потомки и верните сам текущий объект.
Очевидно, что механизм реализации этого стиля цепного программирования заключается в том, что все методы экземпляра объекта jQuery обычно возвращают сам объект jQuery (или другие объекты jQuery), если нет специального требования возврата, поэтому мы можем продолжать вызывать метод возврата для объект jQuery.
("#uid").val()、 ("#uid").val("CodePlayer")、
В собственных операциях DOM JS, если соответствующий элемент не может быть получен с помощью getElementById(), getElementsByName() и т. д., будет возвращено значение null. При доступе к свойствам или методам с нулевым значением будет выдано исключение.
Разница в том, что jQuery вернет пустой объект jQuery, если он не может соответствовать соответствующему элементу. Мы по-прежнему можем вызывать методы объекта jQuery, не сообщая об ошибке. Потому что jQuery разумно справится с этой ситуацией. Если этот метод используется для получения данных, возвращается значение null или неопределенное значение; если этот метод используется для установки данных, операция установки игнорируется и возвращается сам пустой объект, если этот метод используется для фильтрации элементов, новый пустой jQuery; объект также возвращается.
Таким образом, вы можете с уверенностью использовать jQuery для цепного программирования.
// 没有标签дляabcизDOM-элемент,$("abc")да一индивидуальный空изjQueryобъект,позвони этоfind()методвернется一индивидуальный新изjQuery空объект
var a = $("abc").find("p");
// 如果Нет存существоватьidдляnotFoundизэлемент,$("#notFound")да一индивидуальный空изjQueryобъект,Получите его атрибут id,вернетсяundefined。
var b = $("#notFound").attr("id");
// 如果Нет存существоватьidдляnotFoundизэлемент,$("#notFound")да一индивидуальный空изjQueryобъект,Получите значение его высоты,вернетсяnull。
var c = $("#notFound").height();
// 如果Нет存существоватьidдляunameизэлемент,$("#uname")да一индивидуальный空изjQueryобъект,Установите его значение,Эта заданная операция будет игнорироваться,и возвращает сам пустой объект
var d = $("#uname").val("xxxxx");
Ранее мы узнали, как выбирать элементы и некоторые принципы работы jQuery для операций DOM. Далее давайте воспользуемся методом манипулирования DOM jQuery.
В jQuery операции с атрибутами над элементами DOM в основном реализуются с помощью следующих методов:
// selector Представляет определенный селектор
$("selector").val(); // Получить значение первого соответствующего элемента (обычно используется для элементов управления формы)
$("selector").val("Hello"); // Установите значение всех соответствующих элементов на «Привет».
$("selector").html(); // Получите значениеinnerHTML первого соответствующего элемента.
$("selector").html("Hello"); // Установите для значения InnerHTML всех соответствующих элементов значение «Привет».
$("selector").text(); // Получите значение innerText первого соответствующего элемента (jQuery был обработан для совместимости)
$("selector").text("Hello"); // Установите для значения InnerText всех соответствующих элементов значение «Привет».
$("selector").attr("class"); // Получите атрибут класса первого соответствующего элемента.
$("selector").attr("class", "code"); // Установите для атрибута класса всех соответствующих элементов значение «код».
$("selector").removeAttr("class"); // Удалите атрибут класса всех соответствующих элементов.
$("selector").prop("checked"); // Получите проверенное значение атрибута первого соответствующего элемента.
$("selector").prop("checked", true); // Установите для атрибута «проверено» всех соответствующих элементов значение true (что означает установку всех соответствующих флажков и переключателей).
$("selector").removeProp("className"); // Удалите атрибут className всех соответствующих элементов.
дляval()、html()、text()метод,Я верю, что каждый может понять。иattr()иprop()этот两индивидуальныйметод,Сразуда通用изсвойство获取или设置метод,ноattr()
метод针对издаHTML文档节点изсвойство,prop()
метод针对изда文档节点对应изDOM-элементобъектизсвойство。это们之间из详细区别Пожалуйста, обратитесь кРазница между attr() и prop()。также,это们各有一индивидуальный对应изсвойствоудалитьметод:removeAttr()иremoveProp()。
jQueryиз Манипулирование атрибутамиметод较多,Пожалуйста, обратитесь непосредственно кСписок методов jQuery Манипулирование атрибутами。
jQuery также предоставляет множество методов обработки документов. С помощью этих методов мы можем легко вставлять, изменять, перемещать и удалять указанные элементы DOM.
// Следующий $A представляет текущий объект jQuery,$BМожетдастрока выбора、HTML-строка、DOM-элемент、jQueryобъект
$A.before( $B ); // Вставьте $B перед $A
$A.after( $B ); // Вставьте $B после $A
$A.insertBefore( $B ); // Вставьте $A в позицию перед $B.
$A.insertAfter( $B ); // Вставьте $A после $B
$A.append( $B ); // Добавить $B в конец $A
$A.appendTo( $B ); // Добавить $A в конец $B
$A.prepend( $B ); // Добавить $B в начало $A
$A.prependTo( $B ); // Добавить $A к началу $B
$A.replaceAll( $B ); // Замените $B на $A.
$A.replaceWith( $B ); // Замените $A на $B.
$A.wrap( $B ); // Оберните $B вне $A
$A.unwrap( ); // Удалите только тег родительского элемента $A.
$A.wrapAll( $B ); // Оберните весь $A одним $B снаружи.
$A.wrapInner( $B ); // Оберните $B внутри $A
$A.empty(); // Очистить все содержимое $A
$A.remove(); // Удалите $A и связанные с ним события, дополнительные данные и т. д.
$A.detach(); // Удалите $A, но сохраните связанные события, дополнительные данные и т. д.
$A.clone(); // Клонировать $A
В дополнение к серии методов *wrap* такжеempty()、clone()метод外,При использовании вышеуказанных методов вставки, добавления, замены и удаления,Если используется для вставки/добавление/заменять/удалитьизэлементда文档серединаизэлемент,Эти элементы исчезнут со своих исходных позиций.
Обо всей Обработке документовметодиз详细信息,Пожалуйста, обратитесь кСписок методов манипулирования содержимым jQuery。
几乎所有изCSS-операции都Может通过jQueryизcss()метод来进行。
$("selector").css("margin-left"); // Получите значение атрибута поля слева для первого соответствующего элемента.
$("selector").css("marginLeft"); // Та же функция, что и в предыдущей строке кода, css() поддерживает эти два метода записи.
$("selector").css("marginLeft", 15); // Установите левое поле всех совпадающих элементов на 15 пикселей (единица измерения по умолчанию — пиксели).
$("selector").css( {
marginLeft: 15, color: "red", fontSize: "14px"} ); // Установите несколько свойств стиля для всех соответствующих элементов одновременно
$("selector").css( "marginLeft", ""); // Установите пустую строку, чтобы удалить атрибут стиля.
также,jQuery также предоставляет метод для непосредственного получения и установки высоты, ширины и положения смещения.,Пожалуйста, обратитесь кСписок методов jQuery CSS-операций。
Используя jQuery, мы также можем очень просто добиться эффектов анимации.
$("selector").show(); // Показывать скрытые элементы без перехода по умолчанию Анимационные эффекты
$("selector").show( 400 ); // Показать скрытые элементы с переходом 400 мс Анимационные эффекты
$("selector").show( "fast" ); // Показать скрытые элементы с переходом 200 мс Анимационные эффекты
$("selector").show( "slow" ); // Показать скрытые элементы с переходом 600 мс Анимационные эффекты
$("selector").hide(); // Скройте отображаемый элемент, его использование такое же, как и в show().
$("selector").toggle(); // Переключение отображения/скрытия элементов (скрыть, если отображается, отобразить, если скрыто), его использование аналогично show()
/* Методы серий слайд* и исчезновение*, приведенные ниже, имеют ту же функцию, что и методы show(), скрыть(), toggle() и другие вышеприведенные методы.* Использование также аналогично,Толькода带有Нет同из Анимационные эффекты
*/
$("selector").slideDown(); // Показать скрытые элементы с помощью скользящего перехода Анимационные эффекты
$("selector").slideUp(); // Скрыть отображаемые элементы с помощью слайдерного перехода Анимационные эффекты
$("selector").slideToggle(); // Переключить отображение/скрытие элементов со скользящим переходом вверх/вниз Анимационные эффекты
$("selector").fadeIn(); // Показывать скрытые элементы с плавным переходом Анимационные эффекты
$("selector").fadeOut(); // Скрыть отображаемые элементы с плавным переходом Анимационные эффекты
$("selector").fadeToggle(); // Скрыть отображаемые элементы с плавным переходом Анимационные эффекты
Кроме того, jQuery также поддерживает пользовательскую стилизацию Анимационных изображений на основе CSS. эффекты。你Может使用animate()метод设置CSSстиль,И выполняет переход Анимационные эффекты из текущего стиля в указанный стиль.
// Установите стиль CSS «width:» для всех соответствующих элементов. 200px; height: 100px» и выполнить переход от текущего стиля к заданному Анимационные эффекты
// Время выполнения анимации составляет 1000 миллисекунда
$("selector").animate( {
width: "200px", height: "100px" }, 1000 );
О jQueryАнимационные эффектыиз详细信息,Пожалуйста, обратитесь кjQuery Анимационные эффектыAPIСписок。
jQuery имеет мощную функцию обработки событий DOM. Используя метод обработки событий jQuery, мы можем легко привязать функции обработки к указанным событиям элементов DOM. Возьмем в качестве примера событие щелчка:
function handler( event ){
// Код выполнения функции обработки событий
// Параметр event представляет текущий объект события, стандартизированный с помощью инкапсуляции jQuery.
// функция内изthis表示触发事件из当前DOM-элемент(НетдаjQueryобъект)
// Если возвращаемое значение функции ложно, вы можете предотвратить всплывание событий и поведение элемента по умолчанию.
// Например: поведение перехода по умолчанию для события щелчка тега, поведение отправки формы по умолчанию для события отправки тега формы;
}
// Следующие методы могут привязать обработчики к событиям щелчка всех соответствующих элементов.
$("selector").click( handler );
$("selector").bind( "click", handler );
$("selector").live( "click", handler ); // Этот метод устарел и не рекомендуется.
$(document).delegate( "selector", "click", handler );
$("selector").on( "click", handler );
$("selector").one( "click", handler ); // Используется для привязки одноразовых событий и автоматической отмены привязки после первого триггера.
Вышеупомянутые методы можно вызывать повторно, чтобы привязать несколько функций обработки к указанному событию щелчка. При срабатывании события щелчка каждая функция обработчика будет выполняться последовательно в порядке привязки.
иclick()метод类似,jQuery также предоставляет методы привязки для большинства событий.,Например:dblclick()、focus()、change()、hover()、submit()(ограничено<form>表单элемент)、mousedown()、mouseover()、keydown()、keypress()ждать。
иbind()、delegate()、on()ждатьметод,да通过传入指定事件名称из字符串来区分事件类型из,甚至你还Можетдля自定义из事件绑定处理функция。Ниже приводитсяbind()
метод举例,其этометод也и Это похоже на:
$("selector").bind( "dblclick", handler );
$("selector").bind( "keyup", handler );
$("selector").bind( "mouseout", handler );
// Методы событий, такие как bind(), поддерживают привязку одной и той же функции-обработчика к нескольким событиям (разделенным пробелами).
$("selector").bind( "mouseenter mouseleve", function(event){
if(event.type == "mouseenter"){
// Код выполнения события mouseenter
}else if(event.type == "mouseleve"){
// Код выполнения события mouseleve
}
} );
// Имена событий могут иметь пространства имен
$("selector").bind( "mouseout.foo", handler );
Информацию о пространстве имен событий см. Event.namespace。
jQuery также поддерживает запуск определенных событий вручную.
// Запуск событий щелчка по всем совпадающим элементам
$("selector").trigger("click");
// Запустите событие изменения для всех соответствующих элементов.
$("selector").trigger("change");
// Запускает функцию обработчика события mouseout, привязанного к пространству имен foo, для всех соответствующих элементов.
$("selector").trigger("mouseout.foo");
Кромеtrigger()метод外,triggerHandler()也Может手动触发事件(请点击后者из链接以查看это们之间из区别)。
Кроме того, мы также можем отменить привязку обработчиков событий к элементам.
// В основном используется для отмены прямых методов обработки событий, таких как click(), dblclick() и т. д. Функции обработки, связанные такжеbind(), one() и другими методами
$("selector").unbind("click");
//В основном используется для разблокировки функции обработки, связанной с помощью метода live()
$("selector").die("click");
//В основном используется для разблокировки функции обработки, связанной с помощью метода делегата()
$(document).undelegate("selector", "click");
//В основном используется для разблокировки функции обработки, связанной с помощью метода on()
$("selector").off("click");
/* на самом деле,большую часть времени,это们да Может混用из */
О Подробнее об обработке событий jQuery,Пожалуйста, обратитесь кСписок методов обработки событий jQuery а также Свойства и методы объекта события jQuery。
jQuery также инкапсулирует Ajax. Мы можем легко отправить запрос Ajax и обработать ответ.
$.ajax({
url: "ajax.php?action=add",
type: "post",
data: "username=hello&password=123456", // Дополнительные данные запроса, которые также могут быть в объектном формате.
dataType: "json",
success: function(data){
// этотдаAjax请求成功后执行из回调функция
// потому чтодляdataTypeдляjson,如果服务器返回издаJSONформатировать данные,jQueryперенесу этодля对应изJSобъект
// Предположим, что данные { msg: «Запрос Ajax успешен», uid: 2 }
alert( data.msg );
}
});
$.ajax()дадаjQueryсерединаAjaxиз底层实现,其этоAjax请求метод都да基于该метод实现из。
// Отправить запрос Ajax как GET
$.get("ajax.php", {
username: "hello", password: "123456" }, function(data){
// этотдаAjax请求成功后执行из回调функция,Сразудавыше$.ajaxсерединаизsuccessПараметры
});
// Отправьте запрос Ajax методом POST.
$.post("ajax.php", {
username: "hello", password: "123456" }, function(data){
// этотдаAjax请求成功后执行из回调функция,Сразудавыше$.ajaxсерединаизsuccessПараметры
});
О Дополнительные методы и подробности о jQuery Ajax,Пожалуйста, обратитесь кСписок методов Ajax jQuery。
jQuery также предоставляет нам множество вспомогательных инструментов, которые облегчают выполнение различной общей логической обработки кода.
// Удалить пробелы с обоих концов строки
var str1 = $.trim( " abc d " ); // "abc d"
var str2 = $.trim( null ); // ""
// Определите, является ли да массивом да
var isArray1 = $.isArray( [] ); // true
var isArray2 = $.isArray( new Array() ); // true
// суждениеданетдафункция
var result1 = $.isFunction( function(){} ); // true
var result2 = $.isFunction( new Function() ); // true
// 检索数组серединаданет存существовать指定值,并返回其Нет.一次出现из索引
var index1 = $.inArray( 2, [ 1, 3, 5, 2, 0 ] ); // 3
var index2 = $.inArray( 3, [ 2 ] ); // -1 (возвращает -1, если он не существует)
// Преобразование строки JSON в соответствующий объект JS
var jsonObj = $.parseJSON( '{ "name": "CodePlayer", "age": 18 }' );
var jsonArray = $.parseJSON( '[ 12, "CodePlayer", true ]' );
Кроме того, в jQuery есть несколько часто используемых функций обхода. Мы можем использовать эти функции для обхода элементов массива или свойств объекта и выполнения соответствующих функций обратного вызова.
// $.each() используется для обхода элементов массива и свойств объекта.
var array = [ 12, "jQuery", true ];
$.each( array, function(i, value){
// i Представляет индекс текущего итерируемого элемента и имя атрибута объекта.
// value Представляет значение атрибута текущего итерируемого элемента или объекта массива.
// this и value такой же
alert( i + " = " + value );
// если функция возвращает false, прекратит обход
});
// $.map() используется для обхода элементов массива и свойств объекта, а также инкапсуляции возвращаемого значения каждого выполнения функции обхода как возврата массива.
var obj = {
name: "jQuery", age: 20, isAdmin: true };
var resultArray = $.map( obj, function(value, i){
// 注意参数顺序иeach()Нет同
// value Представляет значение атрибута текущего итерируемого элемента или объекта массива.
// i Представляет индекс текущего итерируемого элемента и имя атрибута объекта.
// this Укажите на глобальный объект (окно)
if( typeof value === "number"){
return null; // Если функция возвращает значение nullилиundefined, она не будет добавлена в массив результатов.
}else{
return value;
}
} );
// resultArray для [ "jQuery", true ]
//$.grep() используется для обхода элементов массива и фильтрации элементов массива на основе возвращаемого значения функции (истина/ложь)
var array2 = [ "Hello", 12, "jQuery", true ];
var resultArray2 = $.grep( array2, function(value, i){
// 注意参数顺序иeach()Нет同
// value Представляет элемент массива текущей итерации.
// i Представляет индекс текущего итерируемого элемента.
// this Укажите на глобальный объект (окно)
return i % 2 == 0; // 保留返回值Нетдляfalseизэлемент
} );
// resultArray2 для [ "Hello", "jQuery" ];
вышеизметод全да静态метод。также,jQuery还有两индивидуальный同名из实例методeach()иmap(),Специально используется для перебора всех элементов, соответствующих объекту jQuery.
// Пройдите все p элементы и выполните соответствующую функцию
$("p").each(function(i, element){
// i Представляет индекс текущего итерируемого элемента.
// element Представляет элемент DOM текущей итерации.
// this === element
});
// Возвращает массив, содержащий значения всех совпадающих элементов.
$(":checkbox:checked").map(function(i, element){
// i Представляет индекс текущего итерируемого элемента.
// element Представляет элемент DOM текущей итерации.
// this === element
return this.value;
});
jQuery имеет множество инструментов и методов.,详情Пожалуйста, обратитесь кСписок свойств и методов инструмента jQuery。
Мы уже знаем, как преобразовать элементы DOM в объекты jQuery, чтобы мы могли использовать методы объекта jQuery для работы с элементами DOM. Иногда нам также может потребоваться преобразовать объекты jQuery в элементы DOM.
Перед этим нам следует сначала понять, в каких атрибутах хранятся элементы DOM, содержащиеся в объекте jQuery.
На самом деле объект jQuery представляет собой объект, подобный массиву. Он по очереди сохраняет все соответствующие элементы DOM в атрибутах в виде числовых индексов и использует атрибут длины для хранения количества элементов DOM.
var p = $("p"); // Возвращает объект jQuery, содержащий все элементы p.
p[0]; // 1-й элемент р
p[0].id ; // Возврат 1-й элемент ризid
p[1]; // 2-й элемент p
p[2]; // Третий элемент p
p.length; // количество p элементов
также,jQuery还给我们提供了一индивидуальныйget()метод,用于获取对应索引изDOM-элемент。
var p = $("p"); // Возвращает объект jQuery, содержащий все элементы p.
p.get(0); // 1-й элемент р
p.get(1); // 2-й элемент p
p.get(2); // Третий элемент p
p.get( ); // Без передачи каких-либо параметров все содержащиеся p элементы будут возвращены в виде массива.
Если мы хотим разработать плагин на основе jQuery, нам обычно необходимо добавить собственные свойства и методы к объекту jQuery. jQuery предоставляет нам два основных метода для расширения пользовательских свойств и методов для глобального объекта jQuery или экземпляра объекта jQuery соответственно.
Пожалуйста, обратитесь непосредственно кjQuery.extend()иjQuery.fn.extend()метод。
Этот документ предназначен только для новичков в jQuery, чтобы помочь им быстро начать работу с jQuery, но это не все, что нужно для jQuery. Почти все методы jQuery имеют несколько вариантов использования, поэтому для получения более подробной информации вам необходимо обратиться к документации API jQuery на этом сайте.
from: http://www.365mini.com/page/jquery-quickstart.htm
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/138747.html Исходная ссылка: https://javaforall.cn