728x90
반응형
slice(시작인덱스, 마지막값-1인덱스)
: 시작인덱스요소부터 (마지막값-1인덱스)까지의 요소까지 선택
 
요소명.only-child : 단 하나인 자식으로 존재하는 요소를 의미
$("li:only-child").css({"background-color":"#0ff"});
 
$("#menu1 li").slice(1,3).css({"background-color":"#ff0"});
$("선택자").find("요소 또는 선택자"): 선택한 요소의 하위 요소(자식, 자손)를 필터링(검색)할 때 사용.
$("#inner_1").find(".txt1").
 $("선택자").filter(callback 또는 요소 또는 선택자) : 자기 자신의 레벨에서 형제 요소를 필터링(검색)을 할 때 사용

 
$("#inner_1 p").filter(".txt2").

$("#inner_2 p").filter(function(i,o){
                console.log(i,o);
                // 단 아이템 매개변수는 생략 가능하지만 인덱스 매개변수는 생략불가
                // (첫 번재 매개변수 =>인덱스값, 두번째 매개변수 =>아이템(요소))
                return i % 2 == 0; //반드시 true값이 되어야 한다.
           }).
// clone() : 해당 선택요소 복사
            // java는 1개 요소만 copy가능하지만 js, jq에서는 배열로 copy가능
            
var copyObj = $(".box1").children().clone();
            // console.log(copyObj);
// remove() : 해당 요소 제거
            $(".box2").remove( ); //jq
            // document.body.removeChild(document.getElementsByClassName("box2")[0]); //js
$(".box2").remove( ); //jq
            document.body.removeChild(document.getElementsByClassName("box2")[0]); //js
// empty( ) : 해당 요소의 하위 요소를 모두 제거
            // document.getElementsByClassName("box3")[0].innerHTML="";
 
$(".box3").empty();
            document.getElementsByClassName("box3")[0].innerHTML="";
$("선택한 요소").replaceWith("새요소")
: 선택한 요소를 새요소로 변경함.
$("h2").replaceWith("<h3>replace method</h3>");
$("새요소").replaceAll("해당 요소")
: 해당 요소로 새 요소로 변경함.
$("<p>Change</p>").replaceAll("div");
slice()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.js"></script>
    <script>
        $(function(){
            // slice(시작인덱스, 마지막값-1인덱스): 시작인덱스요소부터 (마지막값-1인덱스)까지의 요소까지 선택
            $("#menu1 li").slice(1,3).css({"background-color":"#ff0"});
            // $("li").slice(1,5).css({"background-color":"#ff0"});
            // 요소명.only-child : 단 하나인 자식으로 존재하는 요소를 의미
            $("li:only-child").css({"background-color":"#0ff"});
        });
    </script>
</head>
<body>
    <h1>탐색 선택자</h1>
    <ul id="menu1">
        <li>내용1-1</li>
        <li>내용1-2</li>
        <li>내용1-3</li>
        <li>내용1-4</li>
    </ul>
    <ul id="menu2">
        <li><span>menu2의 첫번째 li :</span><span>내용2-1</span></li>
        <li><span>menu2의 두번째 li :</span><span>내용2-2</span></li>
    </ul>
</body>
</html>​

 

fine()
filter()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.js"></script>
    <script>
        $(function(){
            /*
            $("선택자").find("요소 또는 선택자"): 선택한 요소의 하위 요소(자식, 자손)를 필터링(검색)할 때 사용.
            $("선택자").filter(callback 또는 요소 또는 선택자) : 자기 자신의 레벨에서 형제 요소를 필터링(검색)을 할 때 사용
            */
           $("#inner_1").find(".txt1").css({"background-color":"yellow"});
           $("#inner_1 p").filter(".txt2").css({"background-color":"aqua"});
           $("#inner_2 p").filter(function(i,o){
                console.log(i,o);
                // 단 아이템 매개변수는 생략 가능하지만 인덱스 매개변수는 생략불가
                // (첫 번재 매개변수 =>인덱스값, 두번째 매개변수 =>아이템(요소))
                return i % 2 == 0; //반드시 true값이 되어야 한다.
           }).css({"background-color":"yellowgreen"});
        });
    </script>
</head>
<body>
    <div id="outer_wrap">
        <h1>콘텐츠 탐색 선택자</h1>
        <section id="inner_1">
            <h2>find( ), filter( )</h2>
            <p class="txt1">내용1</p>
            <p class="txt2">내용2</p>
        </section>
        <section id="inner_2">
            <h2>filter(function)</h2>
            <p>index 0</p>
            <p>index 1</p>
            <p>index 2</p>
            <p>index 3</p>
        </section>
    </div>
</body>
</html>​

 

s
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.js"></script>
    <script>
        function btn(){
            // clone() : 해당 선택요소 복사
            // java는 1개 요소만 copy가능하지만 js, jq에서는 배열로 copy가능
            var copyObj = $(".box1").children().clone();
            // console.log(copyObj);

            var copyObj1 = document.getElementsByClassName("box1")[0].children;
            console.log(copyObj1);

            // remove() : 해당 요소 제거
            $(".box2").remove( ); //jq
            // document.body.removeChild(document.getElementsByClassName("box2")[0]); //js

            // empty( ) : 해당 요소의 하위 요소를 모두 제거
            // $(".box3").empty();
            // document.getElementsByClassName("box3")[0].innerHTML="";

            document.getElementsByClassName("box3")[0].removeChild(document.getElementsByClassName("box3")[0].getElementsByTagName("p")[0]);

            document.getElementsByClassName("box3")[0].removeChild(document.getElementsByClassName("box3")[0].getElementsByTagName("p")[0]);

            $(".box3").append(copyObj);
            // for(let i = 0; i < copyObj1.length; i++){
            //     document.getElementsByClassName("box3")[0].appendChild(copyObj1[i].cloneNode(true));
            // }

            $("button").hide(); //태그들
            // document.getElementsByTagName("button")[0].style.display="none"; //태그1개만
        }
    </script>
</head>
<body>
    <div class="box1">
        <p>내용1</p>
        <p>내용2</p>
    </div>
    <div class="box2">
        <p>내용3</p>
        <p>내용4</p>
    </div>
    <div class="box3">
        <p>내용5</p>
        <p>내용6</p>
    </div>
    <button onclick="btn()">버튼</button>
</body>
</html>​

 

a
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.js"></script>
    <script>
        /*
        $("선택한 요소").replaceWith("새요소"): 선택한 요소를 새요소로 변경함.
        $("새요소").replaceAll("해당 요소"): 해당 요소로 새 요소로 변경함.
        */
       function gbb(){
            $("h2").replaceWith("<h3>replace method</h3>");
            $("<p>Change</p>").replaceAll("div");
       }
    </script>
</head>
<body>
    <section class="box1">
        <h2>제목1</h2>
        <div>내용1</div>
        <div>내용2</div>
    </section>
    <section class="box2">
        <h2>제목2</h2>
        <div>내용3</div>
        <div>내용4</div>
    </section>
    <button onclick="gbb()">클릭</button>
</body>
</html>​

 

 

728x90
반응형

'[JS]' 카테고리의 다른 글

search  (0) 2024.03.07
prop(), attr(), map방식  (0) 2024.03.06
[JS] jQuery ㅇㅇㅇ  (0) 2024.03.06
[JS] jQuery  (0) 2024.03.05
[JS] jQuery  (0) 2024.03.05

+ Recent posts