Jquery

Jquery - 태그 생성하기(1) : 태그 생성, 태그 위치 설정

휼양 2022. 11. 16. 17:24

 

 

1. p태그 생성 : html함수 이용하기

<div id="container"></div>
<script>

$('div#container').html("<p>html태그로 만들기</p>");

</script>

 

 


2. 2. h3태그 생성하기

<script>

// ① $()를 이용하기
const h3=$("<h3>");

// ② 텍스트 넣기
h3=$("<h3>").text("$()방식으로 새로운 태그 생성");

// ③ div#container에 넣기
$("div#container").append(h3);

// 한줄로 완성
const h3=$("<h3>").text("$()방식으로 새로운 태그 생성").appendTo($("div#container"));
console.log(h3);

</script>



 

3. input값을 받아서 태그 추가하기

<input type="text" name="tag">
<input type="text" name="content">
<button onclick="addTag();">태그 추가하기</button>

<div id="container2"></div>

 

<script>

const addTag=()=>{
            const tag=$("input[name=tag]").val();
          
            const content=$("input[name=content]").val();
      
            //입력값으로 태그와 내용 적용하기
            const newTag=$("<"+tag+">").text(content);

            //div#container에 저장하기
            $("div#container2").append(newTag);
}
</script>

 

결과

 

 

 

4. 생성된 기존 태그에 연결하기

자식태그로 추가 append : 자식태그 맨 뒤에 추가
append() 
예) 저장공간.append(추가할태그)


appendTo()
예) (추가할태그).appendTo(저장공간)

prepend : 자식태그 맨 앞에 추가
prepend()
예) 저장공간.prepend(추가할태그)

prependTo()
예) (추가할태그).prependTo(저장공간)
형제태그로 추가 before : 같은 레벨의 지정태그 앞에 추가
before()
예) (저장공간).before(추가할태그)


insertBefore()
예) (추가할태그).insertBefore()(저장공간)

after : 같은 레벨의 지정태그 뒤에 추가
after()
예) (저장공간).after(추가할태그)


insertAfter()
예) (추가할태그).insertAfter(저장공간)

 

[자식태그 추가 예시]

    <button onclick="appendTest();">맨 뒤 자식으로 추가하기</button>
    <button onclick="prependTest();">맨 앞 자식으로 추가하기</button>
    <button onclick="appendToTest();">맨 뒤 자식으로 추가하기</button>
    <button onclick="prependToTest();">맨 앞 자식으로 추가하기</button>
    <div id="container3">
        <h2 style="color: aqua;">기준태그</h2>
    </div>

 

<script>

const appendTest=()=>{

	// 태그와 내용저장하기
    	const h3=$("<h3>").text("생성된 태그");
            
  	 // div#container3 태그에 자식으로 저장하기
   	$("div#container3").append(h3);         
}

const appendToTest=()=>{

	const h3 = $("<h3>").text("appendTo로 추가하기").appendTo($("div#container3"));

}

const prependTest=()=>{

	// 태그와 내용저장하기
	const p=$("<p>").text("p 태그");

	// div#container3 태그에 자식으로 저장하기
	$("div#container3").prepend(p);       
  
}

  
const prependToTest=()=>{

            const h3 = $("<h3>").text("prependTo로 추가하기").prependTo($("div#container3"));
         
}
        
</script>

 

결과

 


[형제태그 추가 예시]

<button onclick="beforeTest();">앞에 추가하기</button>
<button onclick="insertBeforeTest();">앞에 추가하기(insert)</button>
<button onclick="afterTest();">뒤에 추가하기</button>
<button onclick="insertAfterTest();">뒤에 추가하기(insert)</button>

<div id="container4">
	<h2>기준태그</h2>
</div>

<style>
div#container4{
    border: 3px solid blue;
    width: 200px;
    height: 100px;
}
</style>

 

 <script>
        const beforeTest=()=>{
            const h4=$("<h4>").text("앞에 추가하기");
            // $("div#container4>h2").before(h4); //h2의 위(앞)에 추가됨
            $("div#container4").before(h4);//div의 위(앞)에 추가됨
        }

        const afterTest=()=>{
            const img=$("<img>").attr("src","https://item.kakaocdn.net/do/494ea37cf81a6a1efb5dfab1783ab487effd194bae87d73dd00522794070855d");
            //$("div#container4").after(img);
            $("div#container4>h2").after(img);
            //스타일에 overflow:hidden을 추가하면 범위에 벗어나면 짤린다
        }

        const insertBeforeTest=()=>{
            $("<h5>").text("h5 새로 추가하기").insertBefore($("div#container4"));
        }

        const insertAfterTest=()=>{
            const img=$("<img>").attr("src","https://item.kakaocdn.net/do/494ea37cf81a6a1efb5dfab1783ab487effd194bae87d73dd00522794070855d");
            //$("div#container4").after(img);
            $("div#container4>h2").after(img);
            //스타일에 overflow:hidden을 추가하면 범위에 벗어나면 짤린다
        }

    </script>

 

결과

 

5. 태그 위치 변경하기 : 기존에 있는 태그

<div id="container5">
        <p>나는 p태그</p>
        <h4>나는 h4 태그</h4>
</div>

<button onclick="changePosition();">위치변경</button>

<script>
	const changePosition=()=>{
	  $("div#container5>*:last").insertBefore($("div#container5>*:first"));
	}
</script>

 

 

 

6. 태그 위치 변경하기 : 태그 입력후 지정된 위치 바꾸기

<input type="text" name="image">
<button onclick="addImg();">이미지추가</button>
<button onclick="changeImage();">위치변경</button>
<div id="imgcontainer"></div>
<script>

const changeImage=()=>{
            $("div#imgcontainer>img:first").appendTo($("div#imgcontainer"));
}
        
const addImg=(()=>{

    let count=0;
    return ()=>{
         if(count<3){
              const src=$("input[name=image]").val();
              const imgTag=$(`<img src='${src}' width='200' height=200>`);
              $("div#imgcontainer").append(imgTag);
         }else{
                    alert("이미지는 3개만 추가가능");
         }
         count++;
    }

})();

</script>