Programming Language/Javascript, ...

[JavaScript] 요소에 접근하기

Ma_Sand 2022. 4. 18. 19:55
반응형

HTML 요소에 접근하기

   : 해당 요소 객체를 가져온다.

 

1. 아이디로 접근하기

   : 선택된 요소의 속성들에 접근하여 속성값을 가져오거나 변경할 수 있다.

  - 선택된 요소.접근할 속성명

<div class="area" id="divE1"></div>

    <button onclick="accessId();" id="divE1">접근</button>
    <script>
        function accessId(){
            var divE1 = document.getElementById("divE1");

            // 선택된 요소에 속성들에 접근하여 값을 변경
            divE1.innerHTML += "아이디로 접근<br>";

            // 선택된 요소에 스타일 변경
            divE1.style.width = "100px";
            divE1.style.height = "100px";
            divE1.style.backgroundColor = "yellow";
        }
    </script>

 

 

 

2. 태그명으로 접근하기

   : 태그는 중복이 가능하여 배열에 담겨서 반환된다.

  - document.getElementByTagName("태그명");

<ul>
    <li>목록1</li>
    <li>목록2</li>
    <li>목록3</li>
    <li>목록4</li>
    <li>목록5</li>
</ul>
    
    <button onclick="accessTag();">접근</button>
    <script>
        function accessTag(){
            var list = document.getElementsByTagName("li");  // [li요소객체, li요소객체, ...]

            for(var i = 0; i < list.length; i++){
                list[i].innerHTML = "눈치게임" + (i + 1);
            }
        }
    </script>

 

 

 

3. name 속성값으로 접근하기

    : document.hetElementsByName("name속성값");

<form action="">
        <fieldset>
            <legend>취미</legend>
            <input type="checkbox" name="hobby" id="sing" value="sing">
            <label for="sing">노래 부르기</label> 
            <br>
            <input type="checkbox" name="hobby" id="game" value="game">
            <label for="game">게임하기</label>
            <br>
            <input type="checkbox" name="hobby" id="health" value="health">
            <label for="health">운동하기</label>
        </fieldset>
    </form>
    <div class="area" id="divE3"></div>
    <button onclick="accessName();">접근</button>
    <script>
        function accessName(){
            var hobby = document.getElementsByName("hobby");

            var checkedoption = "";  // 초기화
            
            for(var i = 0; i < hobby.length; i++){
                if(hobby[i].checked){
                     checkedoption += hobby[i].value + "<br>";
                }
            }
            var divE3 = document.getElementById("divE3");
            divE3.innerHTML = checkedoption;
        }
    </script>

 

 

 

4. 클래스명으로 접근하기

   : document.getElementsByClassName("class속성값");

<div class="test"></div>
    <p class="test"></p>
    <ul class="test">
        <li></li>
        <li></li>
    </ul>
    <pre class="test test1"></pre>
    <button onclick="accessClass();">접근</button>
    <script>
        function accessClass(){
            var arr = document.getElementsByClassName("test");  // 배열 형태로 반환된다.

            for(var i = 0; i < arr.length; i++){
                console.log(arr[i]);
            }
        }
    </script>
반응형