권형&오형의 일상
[권형] 07. 여러 개 선택된 태그 관리 (메서드 활용) 본문
⑴ eq 메서드 사용 방법 : 특정 순서의 태그를 선택하거나 순차적으로 접근 가능
$("선택자").eq(번호)
1 2 | $("p").eq(1) //p태그들 중 2번째 p태그 선택 | cs |
1 | $("p:nth-child(2)") | cs |
*필터 선택자는 수학적 표현방법에 따라 1번 부터 시작하지만 eq메서드의 경우 자바스크립트의 언어 구조에 따라 0부터 시작
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <!DOCTYPE HTML> <head> <title>Simple</title> <meta charset="UTF-8" /> <link rel="stylesheet" href="index.css"> <script src="index.js"></script> </head> <body> <p>line</p> <p>line</p> <p>line</p> <p>line</p> <p>line</p> <p>line</p> <p>line</p> <p>line</p> <p>line</p> <p>line</p> </body> </html> | cs |
1 2 3 4 5 6 7 8 9 | $(function(){ var p_tag = $("p"); // <p>태그를 선택해서 변수에 넣음 var p_tag_len = p_tag.lengh; //선택된 태그의 개수를 구함 for(var i=0;i<p_tag.lengh;i++){ //for문을 이용한 순차접근 var tmp_color="#"+i+i+i+i+i+i; //색상 코드 생성 p_tag.eq(i).css("background",tmp_color); // 순차 접근 후 색상 적용 } }); | cs |
⑵ each 메서드 사용(for in과 비슷하게 동작)
for in은 묶여 있는 요소의 키(속성이나 메서드의 이름, 인덱스)만 읽어와 키를 통해 값을 사용
each 메서드는 키와 값을 한 번에 읽어와 사용
$("선택자").each(function(인덱스,선택된 요소의 선택자){});
1 2 3 4 5 6 | <body> <p>1번째</p> <p>2번째</p> <p>3번째</p> <p>4번째</p> </body> | cs |
1 2 3 4 | $("p").each(function(idx,item){ //idx는 0부터 3까지 변하면서 item에 <p> 태그가 하나씩 선택 됨. //item에 들어오는 값은 선택자 이므로 $(item) 형태 }); | cs |
1 2 3 4 5 6 7 | $(function(){ var p_tag=$("p"); p_tag.each(function(){ var tmp_color="#"+idx+idx+idx+idx+idx+idx; // 색상 코드 생성 $(item).css("background-color",tmp_color); // 순차 접근 후 색상 적용 }); }); | cs |
⑶ filter 메서드 사용
1 | $("p:even") | cs |
1 | $("p").filter("even") | cs |
1 2 3 4 5 6 | var $sel_p = $("p"); //$sel_p //... //다른 코드 사용 // $sel_p.filter(":even").css("color","red"); //$sel_p 중에서 짝수 번째만 선택해서 color 적용 | cs |
1 2 3 4 5 6 7 8 | var $sel_p = $("p"); //$sel_p에 모든 태그 선택 //자바스크립트는 변수 이름에 $문자를 사용할 수 있다. //$를 사용하는 이유는 jQuery를 이용해서 태그를 선택한 변수라는 의미 //... //다른 코드 사용 // $sel_p.filter(":even").css("color","red"); //$sel_p 중에서 짝수 번째만 선택해서 color 적용 | cs |
1 | $("선택자").filter(function(인덱스){}) | cs |
1 2 3 4 5 6 | $("p").filter(function(idx){ if(idx%2==0){ return true; } return false; }).css("backgroud","yellow"); | cs |
'개발 > Jquery' 카테고리의 다른 글
[권형] 06. 고급 선택자 (1) | 2017.09.26 |
---|---|
[권형] 05. 선택자 (0) | 2017.09.26 |
[권형] 04. jQuery 키워드 치환 (0) | 2017.09.26 |
[권형] 03. jQuery 시작 코드 (0) | 2017.09.26 |
[권형] 02. jQuery의 코드 형태 (0) | 2017.09.26 |
[권형] 01. jQuery 정의(참고) (0) | 2017.09.26 |
Comments