happy cat image

everdevel

coding

login
알림X
  • 현재 댓글에 대한 답변만 표시합니다.
  • 표시할 댓글 이력이 없거나 로그인해 주세요.
























에버디벨이 만든 무료 클라우드 개발환경을 소개합니다.

방문해 주셔서 감사합니다.

each로 태그 다루기

이번시간에는 each에 대해서 알아보겠습니다.

다음의 코드가 있다고 할 때 각각의 태그의 텍스트에 번호를 매긴다면 어떻게 해야 할까요?

<p>haro</p>
<p>haro</p>
<p>haro</p>
<p>haro</p>
<p>haro</p>

저라면 이렇게 할겁니다.

먼저 각 태그의 수만큼 for문을 돌려서 태그에 접근하여 text()메서드를 사용해 텍스트를 변경합니다.

다음과 같이요.

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>EVERDEVEL :: 제이쿼리 강좌</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.0.min.js" ></script>
<script type="text/javascript">
$(function(){
    for(i = 1; i <= $('p').length; i++){
        txt = $('p:nth-child('+i+')').text() + i;
        $('p:nth-child('+i+')').text(txt);
    }
});
</script>
</head>
<body>
    <p>haro</p>
    <p>haro</p>
    <p>haro</p>
    <p>haro</p>
    <p>haro</p>
</body>
</html>

결과는 바로 아래에서 확인하겠습니다.

each

하지만 위와 같이 for 반복문을 사용하지 않고 each를 통해서도 가능합니다.

each 사용방법

$('p').each(function(idx){
})

idx는 인덱스(index)를 의미하며 각 p태그의 순서 값이 나타납니다. 순서는 0부터 시작합니다.

그러면 each를 사용해서 제가 위해서 해본것을 똑같은 결과가 나오게 해본다면...

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>EVERDEVEL :: 제이쿼리 강좌</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.0.min.js" ></script>
<script type="text/javascript">
$(function(){
    $('p').each(function(idx){
        txt = $(this).text() + (idx + 1);
        $(this).text(txt);
    })
});
</script>
</head>
<body>
    <p>haro</p>
    <p>haro</p>
    <p>haro</p>
    <p>haro</p>
    <p>haro</p>
</body>
</html>

결과는 바로 아래에서 확인하겠습니다.

each

만약 다음과 같은 input 박스 입력창이 있다고 할 때

<input type="text" value="haro" />
<input type="text" value="haro" />
<input type="text" value="haro" />
<input type="text" value="haro" />

위의 type속성의 값을 모두 button으로 바꾸는것도 each를 사용해서 가능합니다.

앞에서 배운 attr() 메서드를 활용면 간단하죠. ^^

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>EVERDEVEL :: 제이쿼리 강좌</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.0.min.js" ></script>
<script type="text/javascript">
$(function(){
    $('input').each(function(){
        $(this).attr('type','button');
    })
});
</script>
</head>
<body>
    <input type="text" value="haro" />
    <input type="text" value="haro" />
    <input type="text" value="haro" />
    <input type="text" value="haro" />
</body>
</html>

결과는 바로 아래에서 확인하겠습니다.

each

html코드는 text 입력박스지만 결과는 모두 button으로 바뀌어있습니다.

한번 더 해봅시다.

특정 클래스를 추가해볼게요.

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>EVERDEVEL :: 제이쿼리 강좌</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.0.min.js" ></script>
<script type="text/javascript">
$(function(){
    $('input').each(function(){
        $(this).addClass('haro');
    })
});
</script>
<style>
.haro{background:skyblue}
</style>
</head>
<body>
    <input type="text" value="haro" />
    <input type="text" value="haro" />
    <input type="text" value="haro" />
    <input type="text" value="haro" />
</body>
</html>

결과는 바로 아래에서 확인하겠습니다.

css로 haro 클래스의 배경색을 하늘색으로 적용하는 코드를 작성하고 input태그에 haro클래스를 적용했습니다.

each

결과를 보니 input태그에 haro클래스가 적용되어 하늘색으로 배경이 적용되었습니다.


봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다.
당신의 작은 누름이 저에게는 큰 희망이 됩니다.

학교나 학원에서 배우는 것과는 완전히 다른 분위기, 다른 방식으로 들려주는 수학이야기입니다. 수학을 공부하면서도 괴로워하고 힘들어하는 학생들의 마음을 달래주려는 의도로 쓰여진 책입니다. 학생들이 수학과 친해질 수 있도록 도와주기 위해 이야기를 시작하는 점이 색다릅니다. 그냥 설득하는 것이 아니라 가장 좋은 방법인 다른 사람들의 사례들을 들려줍니다. 수학과 친하게 된 사람들의 경험담들. 누군가 어떤 경험을 했다는 것은 내 자신도 경험 가능한 옵션의 테두리 안으로 들어올 수 있다는 것이니까요. 그 다음은 바로 수학공부하자 하지 않고 게임들을 먼저 소개해줍니다. 바둑알, 화투, 트럼프 카드, 등등 우리 주변에 있는 것들을 이용해 친구, 가족과 쉽게 즐기며 논리력을 키울 수 있는 게임들입니다. 초등학교 때부터의 수학 교과 내용이 어떻게 연결되는지 설명하는데, 각 단원 별 의미와 배경을 알려 줍니다. 중학교 수학과정들을 파트별도 정리하여 전체적인 면을 보여줍니다. 마치 산책이나 갈까 했다 동네 뒷산 올라가서보니 뜻밖에 우리 동네가 이렇게 생겼구나 하는 사실을 깨닫게 되는 느낌입니다. 시험과 성적 올리기 비법 이야기는 전혀 안하면서 수학 공부하라고 부드럽게 둘레길처럼 이야기하는 독특한 책입니다. 수학 이야기책, 수학 교과과정 해설서, 가이드북, 혹은 힐링책처럼도 느껴집니다. 이유도 모른 채 뭘 자꾸 풀이하라고 하는 수학이 지루하고 답답하고 화가 날 때 이 책에 담긴 무척 포괄적인 내용을 알고 있다면, 기억한다면 격렬한 거부감이 누그러들지도 모르겠습니다.

컨텐츠의 내용을 더 보려면 바로 아래에서 확인할 수 있습니다.


    
    

강좌로 돌아가기

댓글 0개

정렬기준