Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

jQuery closest() พร้อมตัวอย่าง


บทนำ

เมธอด closest() ใน jQuery ใช้คืนค่าโบราณ (ancestor) ตัวแรกขององค์ประกอบที่เลือก ซึ่งตรงตามตัวกรอง (selector) ที่ระบุ โดยจะค้นหาเริ่มจากองค์ประกอบปัจจุบันไปขึ้นเรื่อยๆ ตามต้นไม้ DOM

ไวยากรณ์ (Syntax)

$(selector).closest(filter)

ตัวอย่าง: การใช้งาน closest() กับรายการซ้อนกัน

<!DOCTYPE html>
<html>
<head>
    <style>
        .demo * {
            display: block;
            border: 2px solid blue;
            padding: 5px;
            margin: 15px;
        }
    </style>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
        $(document).ready(function(){
            $("span").closest("ol").css({
                "background-color": "orange",
                "color": "black",
                "border": "3px dashed orange"
            });
        });
    </script>
</head>
<body class="demo">
    body
    <div style="width:600px;">
        <ol>ol
            <ol>ol
                <ol>ol
                    <li>li
                        <span>span</span>
                    </li>
                </ol>
            </ol>
        </ol>
    </div>
</body>
</html>

ผลลัพธ์

โค้ดจะค้นหา element <ol> ที่อยู่ใกล้ที่สุด (closest ancestor) ของ <span> และนำสไตล์ CSS ไปใช้กับ element <ol> นั้น ทำให้พื้นหลังสีส้ม ขอบจุดสีส้ม และตัวอักษรสีดำ

jQuery closest() พร้อมตัวอย่าง

สรุป

เมธอด closest() ต่างจาก parents() ที่จะคืนค่าโบราณทั้งหมด ส่วน closest() จะคืนเพียงตัวแรกที่ตรงตามเงื่อนไข בלבד รวมถึง element ปัจจุบันด้วย หาก element ปัจจุบันตรงตามตัวกรองแล้ว จะคืน element นั้นเอง