728x90

 

안녕하세요 오늘은 자바스크립트에서 아이디를 통해 가져와서 사용하는

법을 알아보도록 하겠습니다.

클래스로 하는 방법은 아래 링크 남겨두도록 하겠습니다.

다른 간단한 설명도 아래 링크에 있습니다.

https://didimdol20.tistory.com/76?category=1032931

 

 

먼저 자바스크립트에서 html 파일에서 가져와서 사용하는 방법 3가지 중 이번에 두 번째 방법인

id로 가져오는 것을 하고자 하는데요 

클래스로 가져오는 방법과는 달리 이번엔 

 

document.getElementByID("ID명") 을 이용해주시면 됩니다.

클래스와는 달리 뒤에 [0] 안붙여주셔도 됩니다.

 

 

바로 코드로 알아보겠습니다.

기본 html입니다. 아래 script를 통해 꼭 js파일을 연동해주셔야

합니다. 깜박하고 연동시켜주지 않을 시에는

동작이 되지 않습니다.

 

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    
</head>
<body>
    <h1 id="test">안녕하세요</h1>
    <button id="btn">변경</button>

    <script src="js.js"></script>
</body>
</html>

 

 

이제 여기에서 먼저 버튼을 가져와서 메세지를 띄우는 것을 해보겠습니다.

그전에 혹시라도 addEventListener이 나올 텐데 모르는 분이 있으시다면,

이벤트를 등록하는 함수입니다. 

 

alert()함수는 메시지 창 이 나오게 하는 함수입니다.

 

 

 

var btn = document.getElementById("btn");

btn.addEventListener("click",function(){
    alert("등록");
})

 

 

 

이렇게 해서 버튼을 클릭하게 된다면

 

 

 

 

 

제가 등록한 코드대로 동작하는 것을 확인할 수 있습니다.

이후 문장을 변경하고 싶을 경우 textContent나 innerHTML를 사용해주시면 됩니다.

 

 

 

var btn = document.getElementById("btn");

btn.addEventListener("click",function(){
    document.getElementById("test").innerHTML = "반갑습니다.";
})

 

 

이렇게 추가 해주고 나서 다시 버튼을 클릭해보면

글이 바뀌게 됩니다.

 

 

 


정리

 

1. 아이디를 이용해서 가져올 경우

document.getElementById("ID명") 을 이용하면 된다.

 

2. class와 같은 방법으로 innerHTML 또는 textContent로 글자를 변경한다.

 

 

감사합니다.

728x90
728x90

 

 

안녕하세요 오늘은 저번 자바스크립트 글자 바꾸는 법 글에 다른 방법을 

알아보도록 하겠습니다.

 

 

 

저번 textContent 글 링크입니다. 혹시 필요하시다면 링크 남겨놓겠습니다.

https://didimdol20.tistory.com/77

 

JavaScript / JavaScript 클래스로 글자 바꾸기 / textContent

안녕하세요 오늘은 저번 글에 이어 자바스크립트 중 클래스 이름을 이용하여 속성을 바꾸는 방법을 알아보겠습니다. 클래스를 가지고 자바스크립트로 가져오는 방법은 저번 글을 참고해주세요

didimdol20.tistory.com

 

위 글 그러니깐 이전 글에선 document.getElmentsByClassName("클래스명")[0]; 를 이용하여

자바스크립트에서 textContent를 통해 글자를 변경했습니다.

 

 

그런데 이 방법을 사용할 때 만약 내용이 길어질 경우 생각한 것처럼 줄 바꿈이 되지 않는 점을

확인하실 수 있습니다. 

가령 개발자가 콘텐츠 크기를 설정하고 텍스트를 많이 쓸 경우

안녕하세

요.

반갑습니

다.

 

이런 예시로 나올 수도 있지요. 티스토리만 해도 모바일 크기에 따라 달라지니깐요.

 

이때 줄 바꿈을 하기 위해선 각 줄마다 태그를 통해 써주시거나 아니면, 각각 위 방법으로 클래스를

하는 방법을 통해 바꿀 수도 있습니다.

 

하지만 번거로움이 있죠.

그때 사용하면 좋은 것이 innerHTML이 있습니다. 이를 통해서

html 태그 중 줄 바꿈 태그인 br를 추가해줄 수 있죠.

 

먼저 클래스를 가져오는 점은 textContent와 같습니다.

먼저 클래스를 통해 가져오는 방법이 있죠.

두 가지 방법은 이 전의 쓴 글을 참고해주세요.

 

 

https://didimdol20.tistory.com/76?category=1032931

 

javascript / 버튼 가져오기 / 버튼 클릭시 동작/ getElementByClassName / 클래스로 자바스크립트 에서 사

안녕하세요 오늘은 HTML에 작성된 태그를 클래스 이름으로 가져와서 자바스크립트에서 사용하는 방법을 알아보겠습니다. 다른 글 찾아보면서 이해하면서 하는 게 실력은 늘 테지만, 설명 글은

didimdol20.tistory.com

 

 

그럼 간단하게 사용법과 결과를 확인해보겠습니다.

그전에 먼저 비교를 위해 textContent를 보여드리겠습니다.

 

먼저 기본 HTML입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p class="text">안녕하세요</p>
    <button class="btn">버튼</button>
    
    <script src="blog.js"></script>
</body>
</html>

 

자바스크립트입니다.

 

var btn = document.getElementsByClassName("btn")[0];

var text = document.getElementsByClassName("text")[0];

btn.addEventListener("click",function(){
    text.textContent = "안녕하세요 반갑습니다. \
    날씨가 좋군요";
});

 

버튼을 클릭하게 되면 textContent 같은 경우는

결과가 다음처럼 줄 바꿈이 되지 않은 것을 확인하실 수 있습니다.

 

var btn = document.getElementsByClassName("btn")[0];

var text = document.getElementsByClassName("text")[0];

btn.addEventListener("click",function(){
    text.innerHTML = "안녕하세요"+"<br>"+ "반갑습니다."+"<br>"+"\
    날씨가 좋군요.";
});

 

innerHTML를 쓸 경우 중간에 html 태그를 넣을 수 있습니다.

중간에 슬래시 반대방향은 키보드\을 쓴 것입니다.

코드가 길어지면 줄 바꿈을 하기 위해서 사용한 것입니다.

 

이렇게 코드를 바꿔 준 다음 다시 실행해보면 

 

이렇게 줄 바꿈이 잘 된 결과를 확인하실 수 있습니다.

 

 

 


정리

 

- textContent는 줄 바꿈이 생각한 것처럼 줄 바꿈이 되지 않는다.

 

- textContent 대신 innerHTML를 이용해서 HTML 태그를 이용하여 줄 바꿈을 한다.

 

 

 

감사합니다.

728x90
728x90

 

안녕하세요 오늘은 저번 글에 이어

자바스크립트 중 클래스 이름을 이용하여

속성을 바꾸는 방법을 알아보겠습니다.

 

 

클래스를 가지고 자바스크립트로 가져오는 방법은 저번 글을 참고해주세요

 

https://didimdol20.tistory.com/76?category=1032931

 

javascript / 버튼 가져오기 / 버튼 클릭시 동작/ getElementByClassName / 클래스로 자바스크립트 에서 사

안녕하세요 오늘은 HTML에 작성된 태그를 클래스 이름으로 가져와서 자바스크립트에서 사용하는 방법을 알아보겠습니다. 다른 글 찾아보면서 이해하면서 하는 게 실력은 늘 테지만, 설명 글은

didimdol20.tistory.com

 

 

먼저 간단하게 만든 HTML 구조입니다.

이번에는 바로 js 파일을 연동시켜 놓은 상태입니다.

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p class="text">안녕하세요</p>
    <button class="btn">버튼</button>
    
    <script src="blog.js"></script>
</body>
</html>

 

버튼을 클릭하게 되면 안녕하세요라는 글자가 

반갑습니다로 변경하게 해 보겠습니다.

 

var btn = document.getElementsByClassName("btn")[0];

var text = document.getElementsByClassName("text")[0];

btn.addEventListener("click",function(){
    text.textContent = "반갑습니다.";
});

 

이렇게 먼저 text를 만들어준 다음 아래에서 textContent를 이용하는 방법이 있습니다.

이 외에도 짧은 코드에서 확인이 가능하다면

text라는 변수를 만들 필요 없이 바로도 가능합니다.

 

var btn = document.getElementsByClassName("btn")[0];

btn.addEventListener("click",function(){
    document.getElementsByClassName("text")[0].textContent = "반갑습니다.";
});

 

이렇게 버튼을 클릭하게 되면 '반갑습니다.'로 바뀌는 것을 확인하실 수 있습니다.

 

 


정리

 

- 변경하고자 하는 글에 클래스를 붙인 다음 자바스크립트 파일에 getElementsByClassName을 통해 가져옵니다.

 

- 이후 버튼 클릭시 변경하고자 하는 글에 위에서 선언한 변수를 가져온 다음 textContent를 이용하여 변경합니다.

ex) 변수명.textContent = "고칠 말";

 

- 또는 다음과 같이 변수를 선언하지 않고도 가능합니다.

ex) document.getElementsByClassName("클래스명")[0].textContent = "반갑습니다.";

 

 

감사합니다.

728x90
728x90

 

 

안녕하세요 오늘은 HTML에 작성된 태그를 클래스 이름으로 가져와서

자바스크립트에서 사용하는 방법을 알아보겠습니다.

 

다른 글 찾아보면서 이해하면서 하는 게 실력은 늘 테지만,

설명 글은 저보다 더 잘해주셔서 저는

그래서 무작정 해보는 걸로 작성하겠습니다.

혹시나 저처럼 일단 사용하는 것만 궁금하신 분이 있으시다면

도움이 되었으면 좋겠습니다.

 

혹시라도 빠르게 결과와 정리만 필요하시다면 아래를 정리를 봐주세요

 

 

먼저 HTMl 코드입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button class="btn">버튼</button>
    
</body>
</html>

 

간단하게 버튼만 작성된 코드입니다.

 

출력

아직 버튼 태그 외에 다른 것은 추가를 안 했기에 저렇게 휑하게 버튼 하나만 있습니다.

 

자 그럼 자바스크립트 코드로 가보겠습니다.

 

버튼을 클릭 시에 동작하기 위해서 document.getElementByClassName을 통해 가져와야 합니다.

해당 방법을 이용해서 가져오는 방법은 다양하나 저는 예시로 하나를 들도록 하겠습니다.

 

var btn = document.getElementsByClassName("btn")[0];

btn.addEventListener("click",function(){
    alert("버튼 클릭");
})

 

이렇게 하시게 되면 비유가 완벽하지는 않으나 전혀 모르시는 분들에게

설명을 드리자면 button에 있는 클래스 이름을 통해 자바스크립트에서 연동되었다고

생각하시면 될 것 같습니다.

(다시 한번 말씀드리지만 초보자 분들이 이해하기 쉽게 비유한 것입니다. 적절한 비유는 아닙니다.)

 

클래스 이름으로 가져올 시에는 document.getElementByClassName 것을 사용하게 되는데

반드시 뒤에 [0]을 붙여주셔야 합니다.

즉, 

document.getElementByClassName["클래스이름"][0];

이렇게 해주시면 됩니다.

 

하지만 이렇게 작성했다고 해서 바로 실행은 되지 않습니다. 

html에 코드에서 자바 스크립트를 연동시켜주지 않았기 때문입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button class="btn">버튼</button>
    
    <script src="blog.js"></script>
</body>
</html>

이렇게 html에서 자바스크립트 파일을 가져와야 하는데요

 

body태그 끝나는 부분에 

<script src="js파일명.js"></script>

를 넣어주셔야 합니다.

간혹 head 태그에 넣어서 코드는 틀린 곳이 없는데 실행이 안된다 하시는 분들은

body태그 끝나는 부분 쪽에 넣어주시면 실행되는 것을 확인하실 수 있습니다.

 

 

이제 다시 돌아가서 버튼을 클릭하시면 이렇게 

메시지가 뜨게 됩니다.

 

 

-----------------------------------------------------------------------------------------------------------

정리

 

1.

html에 body태그 끝나는 부분 위에 <script src="js파일명.js"></script>

를 통해 연동시켜주어야 한다.

 

2.

클래스로 가져오기 위해선 

var 변수명 = document.getElementByClassName("클래스 이름")[0];

으로 가져오며 반드시 뒤에 [0] 을넣어줘야 합니다.

 

3.

addEventListener 은 이벤트를 등록하는 함수이며 

변수명.addEventListener('click',function(){

//click은 클릭 시 

// function은 익명 함수로 함수명을 작성하지 않고 즉시 실행하기 위해 있습니다.

})

 

4.

alert()는 경고 메시지로 위에 결과 화면처럼 메시지가 뜨게 되는 함수입니다.

 

 

 

-----------------------------------------------------------------------------------------------------------

 

감사합니다. 

 

 

728x90

+ Recent posts