jQuery란 무엇이며 우리에게 무엇을 할 수 있나요? 웹 개발자이고 JavaScript 프로그램을 작성해 본 적이 있다면 아마도 jQuery를 사용하고 있을 것입니다. 사용해 본 적이 없다면 적어도 jQuery는 현재 가장 인기 있는 JavaScript 라이브러리라고 할 수 있습니다. 단계. 관련 부서의 통계에 따르면 전 세계 웹사이트의 약 28%가 jQuery를 사용하고 있습니다. 이 수치는 다소 과장될 수 있지만 jQuery의 인기를 보여줍니다. 이 기사는 jQuery 사용에 대한 간략한 소개만 제공하며 입문 튜토리얼 역할을 합니다.
jQuery 코드를 다운로드하여 페이지에 로드하세요.
먼저 jQuery 공식 웹사이트에서 최신 jQuery 코드를 다운로드해야 합니다. jQuery는 공식적으로 두 가지 버전을 제공합니다. 하나는 압축되어 있고 다른 하나는 읽거나 분석할 계획이 없는 경우를 위한 것입니다. jQuery 소스 코드는 크기가 작으므로 압축된 버전을 다운로드하는 것이 좋습니다. 다운로드가 완료된 후 HTML 코드로 로드하세요. 로드 방법은 다음과 같습니다.
<html> <head> <title>jQuery tutorial</title> <script type="text/javascript" src="jquery-1.4.4.min.js"></script> </head> <body> jQuery tutorial </body> </html>
물론 현재 jQuery의 인기로 인해 많은 웹사이트에서는 Google API와 같은 온라인 jQuery API도 제공하므로 다음 방법을 통해 jQuery를 로드할 수 있습니다.
jQuery 코드 작성을 배울 때 가장 먼저 다루어야 할 것은 문서 준비 이벤트 처리 메커니즘입니다. 거의 모든 jQuery 코드가 이 이벤트에서 작성되어야 합니다. 이 기능에는 두 가지 주요 기능이 있습니다.
웹페이지가 완전히 로드된 후에만 jQuery 코드가 실행되는지 확인하세요. 웹 페이지에 완전히 로드되지 않은 DOM 요소가 있는 경우 jQuery 코드를 사용하여 DOM 요소에 액세스하거나 조작하면 오류가 발생하기 때문입니다.
jQuery 코드는 다른 코드와 어느 정도 차별화됩니다.
코드는 일반적으로 다음과 같이 작성됩니다.
<script type="text/javascript"> $(document).ready(function() { // 所有的 jQuery 代码都写在这里 }); </script>
jQuery 선택기를 사용하여 DOM 요소 선택
jQuery는 HTML 문서에서 DOM 요소를 편리하게 선택할 수 있는 $("") 함수를 캡슐화합니다. 다음은 이를 사용하는 몇 가지 간단한 방법입니다.
$("div"); // 选择当前 HTML 文档中的所有 DIV 元素 $("#myElement"); // 选择当前 HTML 文档中 ID 为 "myElement" 的元素 $(".myClass"); // 选择当前 HTML 文档中 class 为 "myClass" 的元素 $("p#myElement"); // 选择当前 HTML 中 ID 为 "myElement" 的段落 P 标签元素 $("ul li a.navigation"); // 选择列表元素中 class 为 "navigation" 的超链接
jQuery는 거의 모든 CSS 선택기 메서드를 지원합니다
$("p > a"); // 选择所有 P 标签中的超链接 A 元素 $("input[type=text]"); // 选择 input 元素中 type 为 text 的元素 $("a:first"); // 选择当前页面中的第一个超链接 A 元素 $("p:odd"); // 选择当前页面中序数为奇数的段落 P 元素 $("li:first-child"); // 选择列表中的第一个元素
jQuery 자체에서도 몇 가지 선택기 메서드를 정의합니다. 다음은 몇 가지 예입니다.
$(":animated"); // 选择所有正在执行动画效果的元素 $(":button"); // 选择所有按钮元素 (input 或 button) $(":radio"); // 选择所有单选框元素 $(":checkbox"); // 选择所有复选框元素 $(":checked"); // 选择所有已经在 选定状态 的单选框和复选框 $(":header"); // 选择所有标题元素 (h1, h2, h3, h4 ...)
CSS에서 클래스 이름 조작 및 액세스
jQuery를 사용하면 DOM 요소에 대한 클래스 이름을 추가하고 제거할 수 있으며 사용이 매우 편리합니다. 다음은 몇 가지 일반적인 사용 방법입니다.
$("div").addClass("content"); // 为所有 <div> 元素添加名为 "content" 的类 $("div").removeClass("content"); // 移除所有 <div> 元素中,名为 "content" 的类 $("div").toggleClass("content"); // 交替所有 <div> 元素中,名为 "content" 的类 (如果该元素中不存在这个类,则为它加上这个类;如存在,则移除之)
물론 jQuery를 사용하여 요소에서 특정 클래스가 사용되는지 감지할 수도 있습니다. 코드는 다음과 같습니다
if ($("#myElement").hasClass("content")) { alert("存在名为 content 的类!"); } else { alert("不存在名为 content 的类!"); }
jQuery를 사용하여 CSS 스타일 조작
다음은 몇 가지 예입니다.
$("p").css("width", "400px"); // 为所有段落添加一个宽度 $("#myElement").css("color", "blue") // 将所有 ID 为 #myElement 的元素中文本颜色变为蓝色 $("ul").css("border", "solid 1px #ccc") // 为所有无序列表添加实线边框,且边框颜色为 #ccc
웹페이지에 DOM 요소 또는 콘텐츠 추가, 제거 및 추가
jQuery는 작업 태그의 텍스트를 변경하는 등 DOM 요소를 조작하는 다양한 메서드도 제공합니다. . . 몇 가지 예는 다음과 같습니다.
var myElementHTML = $("#myElement").html(); // 获取 ID 为 myElement 的元素中的所有内容,包括文本和 HTML 标签 // 这种方法类似于传统 JavaScript 中的 innerHTML var myElementHTML = $("#myElement").text(); // 获取 ID 为 myElement 的元素中的文本,仅包括文本,HTML 标签除外
위의 두 가지 방법과 유사하게 DOM 요소에서 HTML이나 텍스트를 변경할 수도 있습니다.
$("#myElement").html("<p>This is the new content.</p>"); // #myElement 中的内容将被这个段落替换掉 $("#myElement").text("This is the new content."); // #myElement 中的内容将被这行文本替换掉
요소 내에 콘텐츠 추가:
$("#myElement").append("<p>This is the new content.</p>"); // 保留标签内原有内容,并在末尾处追加新内容
요소에 콘텐츠를 추가하기 위해 jQuery에는 다음과 같은 여러 가지 다른 용도가 있습니다:appendTo(), prepend(), prependTo(), before(), insertBefore(), after(), insertAfter() 특징은 있지만 사용법은 Append()와 유사합니다.
jQuery 이벤트 처리
일부 특정 이벤트 핸들러는 다음 방법을 사용하여 구현할 수 있습니다.
$("a").click(function() { // 可以在这里写一些代码 // 当超链接被点击的时候这里的代码将被执行 });
하이퍼링크를 클릭하면 function() 안의 코드가 실행됩니다. 같은 방식으로 사용할 수 있는 다른 이벤트도 있습니다(예: 흐림, 포커스, hover, keydown, 로드, mousemove, 크기 조정, 스크롤, 제출, 선택).
jQuery로 요소 숨기기 또는 표시
jQuery는 DOM 요소를 매우 편리하게 표시하거나 숨길 수도 있습니다. 샘플 코드는 다음과 같습니다.
$("#myElement").hide("slow", function() { // 这里可以写一些代码,当元素被隐藏后,这里的代码将被执行 }); $("#myElement").show("fast", function() { // 这里可以写一些代码,当元素被隐藏后,这里的代码将被执行 }); $("#myElement").toggle(1000, function() { // 这里可以写一些代码,当元素被隐藏/显示后,这里的代码将被执行 });
可以看到,当元素显示或隐藏的时候,是慢慢的渐渐变化的,这是因为上面用到了几个速度参数,如 slow,fast,除此之外还有 normal,数字 1000 表示毫秒数,可以自定义。如果没有设置速度参数,那么元素将直接显示或隐藏,一闪而过,没有任何动画效果。后面的第二个参数是一个 function,用来当显示/隐藏完毕后,再执行一些需要的代码,如果不需要,可省略此参数。
另外还有一种“渐隐渐显”的方法,也是动画效果,使用方法如下:
$("#myElement").fadeOut("slow", function() { // 这里的代码在 fade out 完成后执行 }); $("#myElement").fadeIn("slow", function() { // 这里的代码在 fade in 完成后执行 });
调整元素的透明度:
$("#myElement").fadeTo(2000, 0.4, function() { // 这里的代码在在调整透明度完成后执行 }); 其中第一个参数是仍然是速度参数,第二个参数是透明度,但三个参数是一个匿名回调函数,当渐变完成后执行。 jQuery 之动画效果 jQuery 可以为 DOM 元素添加上下滑动效果: $("#myElement").slideDown("fast", function() { // ....... }); $("#myElement").slideUp("slow", function() { // ....... }); $("#myElement").slideToggle(1000, function() { // ....... });
jQuery 的动画效果还可以应用在改变 DOM 元素样式的时候,使改变样式的过程以平滑过渡的方式进行,而且可以选择需要速度,示例如下:
$("#myElement").animate({ opacity: 0.3, width: "500px", height: "700px" }, 1000, function() { // ...... });
总的来说,jQuery 的动画效果很强大,但是也有其怪癖(例如要改变颜色的话,可能需要其它特定的插件)。jQuery 还有其它许多动画效果需要不断地去深入学习和挖掘。