jQuery 시작 튜토리얼 - 선택기와 이벤트 사용
jQuery는 html의 요소를 선택하는 두 가지 방법을 제공합니다.
첫 번째는 CSS와 Xpath 선택기를 결합하는 것입니다. jQuery의 생성자(예: $("div > ul a"))로 전송됩니다.
두 번째는 jQuery 개체의 여러 메서드(메서드)를 사용하는 것입니다. 이 두 가지 방법을 조합하여 사용할 수도 있습니다.
이러한 선택기를 테스트하려면 starterkit.html에서 첫 번째 순서가 지정된 목록을 선택하고 수정해 보겠습니다.
처음에는 목록 자체를 선택해야 합니다. 목록에는 "orderedlist"라는 ID가 있으며 일반적인 자바스크립트 작성 방법은 document.getElementById("orderedlist")입니다. jQuery에서는 다음과 같이 합니다. $(document).ready(function() {
$ ("#orderedlist ").addClass("red");
}); 여기 스타터킷의 CSS 스타일 빨간색이 주문 목록에 첨부됩니다(Keel 번역자 참고: 테스트 패키지의 css 디렉토리에 있는 코어를 참조하세요. css, in 빨간색 스타일이 정의됨). 따라서 starterkit.html을 새로 고치면 첫 번째 순서가 지정된 목록의 배경색이 빨간색으로 변경되고 두 번째 순서가 지정된 목록의 배경색은 변경되지 않는 것을 볼 수 있습니다.
이제 새로운 스타일을 추가해 보겠습니다. 목록의 하위 노드. $(document).ready(function() {
$("#orderedlist > li").addClass("blue");
}); 주문 목록에는 "파란색" 스타일이 첨부되어 있습니다.
이제 좀 더 복잡한 작업을 해보겠습니다. 마우스를 li 개체에 놓고 다른 곳으로 이동하면 스타일이 전환되지만 목록의 마지막 요소에만 적용됩니다. } , function() {
$(this).removeClass("green"); (번역자 Keel의 메모: 시작하려면 이 기사를 읽으십시오. 재배는 개인에 따라 다릅니다. 시작한 후에 더 많은 것을 알고 싶다면 조만간 이 단락의 링크를 읽어야 합니다!)
모든 onXXX 이벤트 onclick, onchange, onsubmit 등과 같이 모두 유효하며 모두 jQuery와 동등한 표현 방법을 가지고 있습니다(번역자 Keel의 참고: jQuery는 onXXX를 좋아하지 않으므로 XXX로 변경되고 on이 제거되었습니다). Ready 및 hover와 같은 일부 다른 이벤트도 해당 메서드를 제공합니다.
Visual jQuery의 이벤트 열에서 전체 이벤트 목록을 찾을 수 있습니다.
이러한 선택기와 이벤트를 사용하여 이미 많은 작업을 수행할 수 있지만 여기에 더 나은 것이 있습니다. 물건! $(document).ready(function() {
$("#orderedlist").find("li").each(function(i) {
$(this).html( $(this) .html() + " BAM! " + i );
});
});
find()를 사용하면 선택한 요소에서 조건부 검색을 수행할 수 있으므로 $("#orderedlist).find("li")는 $("#orderedlist li")와 같습니다.
each()는 모든 li를 반복하고 이 기반 처리를 기반으로 더 많은 작업을 수행할 수 있습니다. 다음과 같은 대부분의 방법 addClass()는 자체적인 Each()를 사용할 수 있습니다. 이 예에서는 html()을 사용하여 각 li의 html 텍스트를 가져와 일부 텍스트를 추가하고 이를 li의 html 텍스트로 설정합니다(번역자 Keel의 메모: 여기에서). 예를 들어, .html() 메소드는 객체의 html 코드를 가져오고 .html('xxx')는 'xxx'를 html 코드로 설정하는 것을 볼 수 있습니다.
자주 발생하는 또 다른 작업은 jQuery에서 다루지 않는 DOM 요소에 대해 일부 메서드를 호출하는 것입니다. AJAX를 사용하여 성공적으로 제출한 후 재설정을 상상해 보세요. $(document).ready( function() {
작성하려면 ID를 form1 또는 testForm으로 변경한 다음 $("#form1") 또는 $("#testForm")을 사용하여 표현한 다음 테스트할 수 있습니다)
이 코드는 ID가 "form"이고 재설정()이 있는 요소가 첫 번째 요소에서 호출됩니다. 양식이 두 개 이상인 경우 다음과 같이 할 수 있습니다: $(document).ready(function() {
// 여러 양식을 한 번에 재설정하려면 이 방법을 사용하세요
$("#reset").click( 함수() {
});(번역자 Keel의 메모: 이러한 코드를 custom.js에 직접 작성하고 starterkit.html에서 효과를 테스트해야 이를 경험해 볼 수 있다는 점에 유의하세요! 필요한 경우 starterkit.html의 html 코드를 관찰하세요. )
이렇게 하면 재설정 링크를 클릭한 후 문서의 모든 양식 요소가 선택되고 모든 요소에 대해 재설정()이 실행됩니다.
직면할 수 있는 또 다른 문제는 특정 요소가 선택되는 것을 원하지 않는다는 것입니다. jQuery는 이 문제를 해결하기 위해 filter() 및 not() 메서드를 제공합니다. filter()는 필터 표현식과 일치하지 않는 선택된 항목을 줄이기 위해 필터 표현식을 사용하고, not()은 필터 표현식과 일치하는 선택된 모든 항목을 취소하는 데 사용됩니다. ul 하위 요소가 없습니다. $(document).ready(function() {
$("li").not("[ul]").css("border", "1px solid black");
});This 코드는 모든 li 요소를 선택한 다음 ul 하위 요소가 없는 li 요소를 제거합니다. 브라우저를 새로 고치면 ul 하위 요소의 li 요소를 제외한 모든 li 요소에 테두리가 있습니다.
(번역자 Keel의 주: 매우 편리한 css() 메서드에 주의하시고 실제로 효과를 테스트하고 관찰하도록 다시 한번 상기시켜 주십시오. 예를 들어 CSS 스타일을 변경하는 것은 어떻습니까? 또 다른 CSS를 추가하는 것은 어떻습니까? 스타일을 선택하세요. :$("li").not("[ul]").css("border", "1px solid black").css("color","red");)
위 코드의 [expression] 구문은 XPath에서 파생되었으며 요소 및 속성에 대한 필터로 사용할 수 있습니다. 예를 들어 이름 속성이 있는 모든 링크를 선택할 수 있습니다: $(document).ready( 함수 () {
$("a[@name]"). background("#eee");
}) 이 코드는 name 속성이 있는 모든 링크에 배경색을 추가합니다. (번역자 Keel의 주: 이 색상은 너무 미묘하므로 $("a[@name]").ground("red");로 작성하는 것이 좋습니다.)
더 일반적인 상황은 선택하는 것입니다. 이름별 링크를 사용하려면 특징적인 href 속성이 있는 링크를 선택해야 할 수도 있습니다. 따라서 브라우저마다 href에 대한 이해가 일치하지 않을 수 있으므로 전체 일치("=") 대신 부분 일치("*=")를 사용합니다. $(document).ready(function() {
~ /content/gallery
});
}) 지금까지 선택기는 하위 요소를 선택하거나 요소를 필터링하는 데 사용되었습니다. 또 다른 상황은 FAQ 페이지와 같은 이전 요소 또는 다음 요소를 선택하는 것입니다. 질문을 클릭하면 답변이 다음과 같이 표시됩니다. $(document).ready( function() { $ ('#Faq').Find('dd').Hide().End();
if(answer.is(':visible')) {
답변. SlideUp();
} else {
Answer.slideDown();
}
});
});여기에서는 코드 양을 줄이고 더 직관적이고 이해하기 쉽게 보이도록 몇 가지 연쇄 표현식을 사용합니다. '#faq'가 한 번만 선택되는 것처럼 end() 메서드를 사용하면 첫 번째 find() 메서드가 종료(실행 취소)되므로 나중에 $( '#faq')를 쓰지 않고도 find('dt')를 계속할 수 있습니다. .find('dt').
클릭 이벤트에서는 $(this).next()를 사용하여 dt 바로 아래에 있는 dd 요소를 찾아 클릭한 질문 아래의 답변을 빠르게 선택할 수 있습니다.
(번역자 Keel의 주: 이 예제는 정말 멋집니다. FAQ의 답변이 줄어들 수 있습니다! next()를 사용하는 아이디어부터 이러한 효과를 구현하는 것까지 우리가 소화해야 할 곳이 많습니다. . if (답변. is(':visible'))에 주의하세요. 이해가 안 되는 부분이 있으면 제가 언급한 두 가지 필수 API 문서를 확인하세요. 시작)
같은 레벨의 요소를 선택하는 것 외에도 상위 요소를 선택할 수도 있습니다. 사용자가 마우스를 움직일 때 기사의 특정 단락에 있는 링크의 상위 요소를 강조 표시하고 싶을 수도 있습니다. $(document).ready(function() {
$("a").hover (기능() {
});
}); 테스트 결과에서 볼 수 있듯이 기사의 특정 문단으로 링크를 걸면 해당 문단이 완전히 사용된 경우 하이라이트 스타일을 적용하고 제거한 후 원래 상태로 복원합니다.
(번역자 Keel의 메모: 하이라이트는 core.css에 정의된 스타일입니다. 변경할 수도 있습니다. 여기에 두 번째 function()이 있다는 점에 유의하세요. 이는 호버 메소드의 기능입니다. 확인해주세요. API 문서에 hover, 위의 예가 있습니다)
계속하기 전에 이 단계를 살펴보겠습니다. jQuery는 코드를 더 짧고 이해하고 유지하기 쉽게 만듭니다. 다음은 $(document)의 약어입니다. .ready(callback) 메서드: $(function() {
// DOM이 준비되었을 때 실행할 코드
}) Hello world 예제에 적용하면 다음과 같습니다. $(function() {
$( "a").click(function() {
Alert("Hello world!");
});
더 많은 관련 글은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

WebStorm Mac 버전
유용한 JavaScript 개발 도구
